0
OS: RHEL 7.4

uname -r: 3.10.0-693.el7.x86_64

docker version

Client: Docker Enterprise Edition (EE) 2.0
 Version:       17.06.2-ee-10
 API version:   1.30
 Go version:    go1.8.7
 Git commit:    66261a0
 Built: Fri Apr 27 00:38:41 2018
 OS/Arch:       linux/amd64

Server: Docker Enterprise Edition (EE) 2.0
 Engine:
  Version:      17.06.2-ee-10
  API version:  1.30 (minimum version 1.12)
  Go version:   go1.8.7
  Git commit:   66261a0
  Built:        Fri Apr 27 00:40:03 2018
  OS/Arch:      linux/amd64
  Experimental: false

Error

Kubelet is unhealthy: runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

I am trying to join a node to swarm cluster as a worker node, but I am getting the aforementioned error. Did anyone face this issue?

Expected result should be node must successfully added to the swarm cluster.

Regards Aditya

CK5
  • 1,055
  • 3
  • 16
  • 29
  • [kubelet](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/) is term coming from the [Kubernetes](https://kubernetes.io/) world. Are you sure we are talking about `docker-swarm` here? – tgogos Aug 02 '18 at 07:57
  • @tgogos I know kubelet is a k8s term but while installing docker enterprise, it installs multiple images and spawns containers out of them. K8s images are a part of docker enterprise installation. – CK5 Aug 02 '18 at 08:00
  • Ok then, the error message tells you that the network plugin is not ready. Did you add any? Like [Calico](https://docs.projectcalico.org/v3.1/getting-started/kubernetes/), [Weave Net](https://www.weave.works/docs/net/latest/kubernetes/kube-addon/)... – tgogos Aug 02 '18 at 08:05
  • @tgogos calico is added by default. Now i am facing a new kind of error: calico pod is unhealthy. I am new to this and i am unable to lock the target – CK5 Aug 02 '18 at 08:14
  • This would be nice if you could add the whole process, when you initialize your cluster until when the error appears when you try to join a node as a worker. As is it's difficult to guess from what you've just posted, especially considering that you're using Docker EE, which is probably used by only a handful of users on the site. Also adding the output of `docker info` and `docker node ls` would help. – abronan Sep 18 '18 at 14:16

1 Answers1

0

Error: calico pod is unhealthy

This was due to reverse path filtering variable set to 2. We changed it to 1, and the node was able to join without a problem.

Reverse path filtering is one of the many ways which you can leverage to avert MiTM attacks. As it was set to 2, docker didn’t allow that node to join the cluster until it was set to 1.

Regards

Aditya

CK5
  • 1,055
  • 3
  • 16
  • 29