Orange-OpenSource / towards5gs-helm

Helm charts for deploying 5G network services on Kubernetes
Other
167 stars 130 forks source link

Free5gc control plane containers are not running. #2

Closed lpureenaece closed 3 years ago

lpureenaece commented 3 years ago

Description:

  1. Created a k8s cluster (cluster is up and running).
  2. Kubernetes worker node with kernel 5.0.0-23-generic and containing gtp5g kernel module.
  3. Add an additional "eth1" interface on worker node.
  4. Installed Multus & helm.
  5. Created a persistent volume.
  6. Execute the command- "helm -n free5gc-core install --generate-name ./free5gc/"
  7. After that except upf & mongo-db all other pods are stuck at "Init" state.

image

  1. On worker node-

    docker images

    o/p image

Attached the log files- docker_containers_screenshot docker_containers_screenshot1 docker_images_screenshot pods_error_screenshot

raoufkh commented 3 years ago

Hi @lpureenaece

We make use of initContainers to make sure the mongodb is ready (for the nrf) and the nrf is ready (for other control plane network functions). The init containers try to connect the targets (mongodb or nrf) via the Kubernetes services exposing them. That means name resolution is required for the communication between control plane network functions and between them and the database.

First, let's check that DNS is working well in your cluster. 1) What dns solution are you using? 2) Try to follow the first step described here by creating the dns-utils pod at the same namespace as Free5GC components, and then try to resolve the IP address of the service exposing the NRF: kubectl -n free5gc-core exec -i -t dnsutils -- nrf-nnrf

lpureenaece commented 3 years ago

Previously I have created the free5gc pods in namespace "free5gc-core" where "core-dns" pod was in "kube-system" namespace, So I changed the namespace of free5gs pods to "kube-system" and my problem has been solved.

Now able to resolve the IP address of the service exposing the NRF " kubectl exec -i -t dnsutils -n kube-system -- nslookup nrf-nnrf.kube-system"

Thanks for your support @raoufkh .

raoufkh commented 3 years ago

You're welcome @lpureenaece. Note that a good implementation of core-dns should ensure name resolution in all cluster namespaces.

I'll close this issue