朱可凡
朱可凡

Reputation: 99

Using kubeadm to init kubernetes 1.12.0 falied:node "xxx" not found

My environment:

CentOS7 linux

/etc/hosts:

192.168.0.106 master01

192.168.0.107 node02

192.168.0.108 node01

On master01 machine:

/etc/hostname:

master01

On master01 machine I execute commands as follows:

1)yum install docker-ce kubelet kubeadm kubectl

2)systemctl start docker.service

3)vim /etc/sysconfig/kubelet

EDIT the file:

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

4)systemctl enable docker kubelet

5)kubeadm init --kubernetes-version=v1.12.0 --pod-network-cidr=10.244.0.0/16 servicecidr=10.96.0.0/12 --ignore-preflight-errors=all

THEN

The first error message:

unable to load client CA file /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: no such file or directory

kubelet.go:2236] node "master01" not found

kubelet_node_status.go:70] Attempting to register node master01 Oct 2 23:32:35 master01 kubelet: E1002 23:32:35.974275 49157

kubelet_node_status.go:92] Unable to register node "master01" with API server: Post https://192.168.0.106:6443/api/v1/nodes: dial tcp 192.168.0.106:6443: connect: connection refused

l don't know why node master01 not found?

l have tried a lot of ways but can't solve the problem.

Thank you!

Upvotes: 2

Views: 7369

Answers (2)

Rotem jackoby
Rotem jackoby

Reputation: 22128

I'm not sure that the problem is always related to firewall rules.

Consider the steps below:

1 ) Try to resolve your error related to: /etc/kubernetes/pki/ca.crt.
Run kubeadm init again without the --ignore-preflight-errors=all and see if all actions in the [certs] phase took place - for example:

[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
.
.

2 ) Try running re-installing kubeadm or running kubeadm init with other version (use the --kubernetes-version=X.Y.Z flag).

3 ) Try restarting kubelet with systemctl restart kubelet.

4 ) Check if the docker version need to be updated.

5 ) Open specific ports which are needed (if you decide to stop firewalld remember to start it right after you resolve the issue).

Upvotes: 0

getslaf
getslaf

Reputation: 342

Your issue also might be caused by firewall rules, restricting tcp connection to 6443 port. So you can temporary disable firewall on master node to validate this:

systemctl stop firewalld

and then try to perform kubeadm init once again. Hope it helps.

Upvotes: 2

Related Questions