Docker UCP Calico-node pod is unhealthy

1.8k views Asked by At

We are using docker-ee

Docker Enterprise 2.1
18.09.0-beta3

I installed UCP on one node and added worker nodes to it. The UCP shows node error as: "Calico-node pod is unhealthy: unexpected calico-node pod condition Ready". When I do the kubectl on node it shows as below

kubectl get pods --all-namespaces

kube-system   calico-kube-controllers-549679   1/1  Running  2  5h
kube-system   calico-node-6fk4j      1/2       CrashLoopBackOff   85         5h
kube-system   calico-node-6xldl     1/2       Running            78         5h

The Pod describe shows

kubectl describe pod calico-node-6fk4j -n kube-system:

  Warning  Unhealthy  17m (x210 over 2h)  kubelet, tclasapid004.tiffco.net  Liveness probe failed: Get http://localhost:9099/liveness: dial tcp 127.0.0.1:9099: connect: connection refused
  Warning  BackOff    7m (x410 over 2h)   kubelet, tclasapid004.tiffco.net  Back-off restarting failed container
  Warning  Unhealthy  2m (x231 over 2h)   kubelet, tclasapid004.tiffco.net  Readiness probe failed: calico/node is not ready: felix is not ready: Get http://localhost:9099/readiness: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

We cannot run few operations with this error (Calico-node). Please help here.

Appreciate your help

1

There are 1 answers

1
Ijaz Ahmad On

Do you have multiple interfaces on that host? You need to set the auto-detect settings.

Related issue:

https://github.com/projectcalico/calico/issues/2042

you need to set auto-detect to use another method suitable for your network. E.g. adding following to calico yaml:

 - name: IP_AUTODETECTION_METHOD
               value: "interface=eth.*"

Please go throgh that issue , there are multiple reasosn with many solutions:

I was finally able to resolve the issue. Thanks to @tmjd for the hint. I had two interfaces on each of my Ubuntu VMs, enp0s3 and enp0s8. the enp0s8 interface had the same IP on all the three VMs hence the calico nodes on the slave were complaining about the IP conflict. To resolve this problem I edited my /etc/network/interfaces file and assigned static IPs to enpos8 interface. this resolved the problem.