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
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.