Рабочий узел Kubernetes находится в состоянии «NotReady» - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть два узла Kubernetes, настроенных в Virtualbox. Мастер работает и работает нормально. Но рабочий узел находится в состоянии «NotReady».

[root@master ~]# kubectl get nodes
NAME      STATUS     ROLES     AGE       VERSION
master    Ready      master    1d        v1.10.2
node      NotReady   <none>    1h        v1.10.2

Команда «journalctl -u kubelet» на рабочем узле сообщает об ошибках, связанных с сетью:

kuberuntime_manager.go:757] checking backoff for container "install-cni" in pod "kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5ab)"
remote_runtime.go:278] ContainerStatus "459643e54de7f82df8ada0f60e8f3d51d42c5ce348747a66e20ad5720155e63f" from runtime service failed: rpc error: code = U
kuberuntime_container.go:636] failed to remove pod init container "install-cni": failed to get container status "459643e54de7f82df8ada0f60e8f3d51d42c5ce34
kuberuntime_manager.go:757] checking backoff for container "install-cni" in pod "kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5ab)"
kuberuntime_manager.go:767] Back-off 10s restarting failed container=install-cni pod=kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5a
pod_workers.go:186] Error syncing pod 873fa36d-4b83-11e8-9997-080027afb5ab ("kube-flannel-ds-zjlvn_kube-system(873fa36d-4b83-11e8-9997-080027afb5ab)"), sk
cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni con
cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni con
cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2125] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni con

Я использую Kubernetes версии 1.10 и Docker версии 1.13.1. Не могли бы вы помочь мне определить причину и решение этой проблемы?

1 Ответ

0 голосов
/ 30 апреля 2018

Дело в том, что, когда вы хотите сформировать кластер kubernetes, требуется, чтобы вы развернули плагин CNI, который обеспечивал бы сетевое взаимодействие между вашими модулями. Ошибка, которую вы показали здесь, связана с тем, что плагин CNI не был установлен или настроен неправильно.

Модуль kube-dns будет в состоянии ожидания, пока плагин CNI не будет развернут в вашем кластере. Когда kube-dns переходит в состояние running, (после развертывания поставщика cni) вы можете запускать рабочие нагрузки приложений.

Если вы не развернули плагин CNI, вы можете выбрать один из нескольких.

  1. Calico: обеспечивает подключение к сети через стандартный BGP. (Следуйте документации для получения дополнительной информации) kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubeadm/1.7/calico.yaml

  2. Weave: Создает оверлейную сеть. export kubever=$(kubectl version | base64 | tr -d '\n') kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"

  3. Flannel: создает оверлейную сеть, рассматривая каждый хост как подсеть. kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml

Контейнерный трафик должен быть доведен до сведения iptables, и вы можете сделать это, sysctl net.bridge.bridge-nf-call-iptables=1 Это требуется для работы Flannel и Weave.

Пожалуйста, обратитесь к документации каждого плагина CNI, который подходит для вашего кластера.

...