4

I'm installing kubernetes(kubeadm) on centos VM runing inside Virtualbox, so with yum i installed kubeadm, kubelet and docker.

Now while trying to setup cluster with kubeadm init --pod-network-cidr=192.168.56.0/24 --apiserver-advertise-address=192.168.56.33/32 i run into the following error :

Unable to update cni config: No networks found in /etc/cni/net.d

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

So i checked, no cni folder in /etc even that kubernetes-cni-0.6.0-0.x86_64 is installed. I Tried commenting KUBELET_NETWORK_ARGS in /etc/systemd/system/kubelet.service.d/10-kubeadm.conf but it didn't work.

PS:

  • I'm installing behind proxy.

  • I have multiple network adapters:

    • NAT : 10.0.2.15/24 for Internet

    • Host Only : 192.168.56.33/32

    • And docker interface : 172.17.0.1/16

Docker version: 17.12.1-ce
kubectl version : Major:"1", Minor:"9", GitVersion:"v1.9.3"
Centos 7

bodgit
  • 4,661
  • 13
  • 26
BOUKANDOURA Mhamed
  • 171
  • 1
  • 1
  • 5

4 Answers4

3

It was a proxy error as mentionned in Github https://github.com/kubernetes/kubernetes/issues/34695

They suggested to use kubeadm init --use-kubernetes-version v1.4.1 but i change my network entirely (no proxy) and i manage to setup my cluster.

And as @Radek mentionned before, seting up pod network with kubectl apply -f .... came after the initialization of cluster.

BOUKANDOURA Mhamed
  • 171
  • 1
  • 1
  • 5
1

reason:NetworkPluginNotReady - you need to install a networking solution into kubeadm provisioned cluster before anything else can start up.

Using kubeadm to Create a Cluster - Installing a pod network | Kubernetes

  • I'm having this error `The connection to the server localhost:8080 was refused - did you specify the right host or port?` In every execution of `kubectl`. Trying to install pod network (weave) with `kubectl apply -f ...` didn't work. – BOUKANDOURA Mhamed Mar 06 '18 at 12:47
  • the error in your comment means that you probably have no valid config in ~/.kube/config (or it points to localhost:8080 and no api is there which is the less likely scenario) – Radek 'Goblin' Pieczonka Mar 07 '18 at 08:11
1

seems a docker image is missing.

check if the images have been downloaded into your machines(VM)

docker image list or kubeadm config images list

expected image: quay.io/coreos/flannel v0.10.0-amd64.

pls refer to offical doc for more images required

if the image is missing, pls download it manually.

docker pull quay.io/coreos/flannel:v0.10.0-amd64

for more images: kubeadm config images pull

Then, restart

Thomas Berger
  • 1,700
  • 12
  • 22
Alex Wang
  • 11
  • 1
0

none of the above solutions didn't worked for me. I found out that my server does not have default route!

# route -n
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp9s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

so I added the default gateway by the following command:

# route add default gw 19.168.1.1
# route -n 
0.0.0.0         192.168.1.1     0.0.0.0         UG    600    0        0 wlp9s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp9s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0

right now the iptables works fine

mahdi
  • 101