Complete Demo with UERANSIM
In this demo it is shown how to deploy an Open5GS instance and create several users. Also, it is demonstrated how the changes in the network slices are managed by the operator and a connectivity test is performed to verify that the users are assigned to the correct slice.
The operator is deployed using the following command:
helm install open5gs-operator oci://registry-1.docker.io/gradiantcharts/open5gs-operator --version 1.0.2
To observe the logs of the operator:
kubectl logs deployment/open5gs-operator-controller-manager -f
We create an instance of Open5GS with a configured slice:
kubectl apply -f https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/open5gs-one-slice.yaml
Four users are registered, two for each slice:
kubectl apply -f https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/open5gs-users.yaml
UERANSIM is deployed with two GNBs, each one with two users:
helm install ueransim-gnb-1 oci://registry-1.docker.io/gradiant/ueransim-gnb --version 0.2.6 --values https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/gnb-1-values.yaml
helm install ueransim-gnb-2 oci://registry-1.docker.io/gradiant/ueransim-gnb --version 0.2.6 --values https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/gnb-2-values.yaml
It is observed that only the users of the first slice are connected. This is because we only enabled the first slice in the Open5GS instance:
kubectl logs deployment/open5gs-sample-amf -n default
kubectl logs deployment/ueransim-gnb-1-ues -n default
kubectl logs deployment/ueransim-gnb-2-ues -n default
We can also check the connectivity of the users:
kubectl -n default exec -ti deployment/ueransim-gnb-1-ues -- ping -I uesimtun0 gradiant.org
kubectl -n default exec -ti deployment/ueransim-gnb-1-ues -- ping -I uesimtun1 gradiant.org
kubectl -n default exec -ti deployment/ueransim-gnb-2-ues -- ping -I uesimtun0 gradiant.org
kubectl -n default exec -ti deployment/ueransim-gnb-2-ues -- ping -I uesimtun1 gradiant.org
UERANSIM in undeployed:
helm uninstall ueransim-gnb-1
helm uninstall ueransim-gnb-2
Now you must uncomment the second slice in the Open5GS CR https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/open5gs-one-slice.yaml
and apply it.
This will enable the new slice and the operator will apply the new configuration and restart the neccesary pods. You can apply the uncommented file with the following command:
kubectl apply -f https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/open5gs-one-slice-uncommented.yaml
Wait until AMF and NSSF are Running
again and deploy UERANSIM:
helm install ueransim-gnb-1 oci://registry-1.docker.io/gradiant/ueransim-gnb --version 0.2.6 --values https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/gnb-1-values.yaml
helm install ueransim-gnb-2 oci://registry-1.docker.io/gradiant/ueransim-gnb --version 0.2.6 --values https://gradiant.github.io/open5gs-operator/docs/complete-demo-ueransim/gnb-2-values.yaml
We observe that the users of both slices are connected:
kubectl logs deployment/open5gs-sample-amf -n default
kubectl logs deployment/ueransim-gnb-1-ues -n default
kubectl logs deployment/ueransim-gnb-2-ues -n default
We can also check the connectivity of the users:
kubectl -n default exec -ti deployment/ueransim-gnb-1-ues -- ping -I uesimtun0 gradiant.org
kubectl -n default exec -ti deployment/ueransim-gnb-1-ues -- ping -I uesimtun1 gradiant.org
kubectl -n default exec -ti deployment/ueransim-gnb-2-ues -- ping -I uesimtun0 gradiant.org
kubectl -n default exec -ti deployment/ueransim-gnb-2-ues -- ping -I uesimtun1 gradiant.org
Uninstall everything:
helm uninstall ueransim-gnb-1
helm uninstall ueransim-gnb-2
kubectl delete open5gsusers.net.gradiant.org open5gsuser-sample-1
kubectl delete open5gsusers.net.gradiant.org open5gsuser-sample-2
kubectl delete open5gsusers.net.gradiant.org open5gsuser-sample-3
kubectl delete open5gsusers.net.gradiant.org open5gsuser-sample-4
kubectl delete open5gs open5gs-sample
helm uninstall open5gs-operator