Рабочий узел kubernetes в статусе "NotReady"

Я пытаюсь настроить свой первый кластер, используя Kubernetes 1.13.1. Мастер получил инициализацию в порядке, но оба моих рабочих узла NotReady, kubectl describe node показывает, что Kubelet прекратил публиковать состояние узлов на обоих рабочих узлах. На одном из рабочих узлов я получаю вывод журнала как

> kubelet[3680]: E0107 20:37:21.196128    3680 kubelet.go:2266] node
> "xyz" not found.

Вот полная информация:

Я использую Centos 7 & Kubernetes 1.13.1.

Инициализация была сделана следующим образом:

[root@master ~]# kubeadm init --apiserver-advertise-address=10.142.0.4 --pod-network-cidr=10.142.0.0/24

Успешно инициализирован кластер:

You can now join any number of machines by running the following on each node
as root:
`kubeadm join 10.142.0.4:6443 --token y0epoc.zan7yp35sow5rorw --discovery-token-ca-cert-hash sha256:f02d43311c2696e1a73e157bda583247b9faac4ffb368f737ee9345412c9dea4`

развернут фланелевой ЦНИ:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Команда соединения работала нормально.

[kubelet-start] Activating the kubelet service[tlsbootstrap] Waiting for the kubelet to perform the TLS Bootstrap...[patchnode] Uploading the CRI Socket information "/var/run/dockershim.sock" to the Node API object "node01" as an annotation

Этот узел присоединился к кластеру:

* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.
Run 'kubectl get nodes' on the master to see this node join the cluster.

Результат kubectl получить узлы:

[root@master ~]# kubectl get nodes

NAME     STATUS     ROLES    AGE   VERSION

master   Ready      master   9h    v1.13.1

node01   NotReady   <none>   9h    v1.13.1

node02   NotReady   <none>   9h    v1.13.1

на обоих узлах:

[root@node01 ~]# service kubelet statusПеренаправление в /bin/systemctl status kubelet.service ● kubelet.service - kubelet: агент узла Kubernetes

 Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)

  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf

   Active: active (running) since Tue 2019-01-08 04:49:20 UTC; 32s ago

     Docs: https://kubernetes.io/docs/

 Main PID: 4224 (kubelet)

   Memory: 31.3M

   CGroup: /system.slice/kubelet.service
           └─4224 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfi

`Jan 08 04:54:10 node01 kubelet[4224]: E0108 04:54:10.957115    4224 kubelet.go:2266] node "node01" not found`

Я ценю ваши советы по устранению неполадок.

1 ответ

Предыдущий ответ звучит правильно. Вы можете проверить это, запустив kubectl describe node node01 на мастере или там, где правильно настроен kubectl.

Я столкнулся почти с той же проблемой и в конце концов обнаружил, что причина в том, что брандмауэр не был выключен. Вы можете попробовать следующие команды:

sudo ufw disable

или

systemctl disable firewalld

или

setenforce 0

Похоже, что причина этой ошибки в неправильной подсети. В документации Flannel написано, что вы должны использовать /16 not /24 для сети pod.

ПРИМЕЧАНИЕ. Если используется kubeadm, передайте --pod-network-cidr=10.244.0.0/16 в kubeadm init, чтобы убедиться, что podCIDR установлен.

Я попытался запустить kubeadm с / 24, и хотя у меня были узлы в состоянии готовности, фланелевые модули не работали должным образом, что привело к некоторым проблемам.

Вы можете проверить, правильно ли работают ваши фланелевые капсулы:kubectl get pods -n kube-system если статус отличается от running тогда это некорректное поведение. В этом случае вы можете проверить детали, запустив kubectl describe pod PODNAME -n kube-system, Попробуйте изменить подсеть и сообщите нам, если это решило проблему.

Другие вопросы по тегам