Мастер Kubelet остается в KubeletNotReady из-за отсутствия cni - PullRequest
0 голосов
/ 21 февраля 2020

Kubelet был инициализирован с сетью pod для Calico:

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --image-repository=someserver

Затем я получил calico.yaml v3.11 и применил его:

sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" apply -f calico.yaml

Сразу после проверки на статус pod:

sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" get nodes
NAME              STATUS     ROLES    AGE     VERSION
master-1   NotReady   master   7m21s   v1.17.2

при описании я получил унифицированную конфигурацию cni, но я подумал, что бязь должна была это сделать?

MemoryPressure   False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure     False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure      False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready            False   Fri, 21 Feb 2020 10:14:24 +0100   Fri, 21 Feb 2020 10:09:00 +0100   KubeletNotReady              runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

На самом деле у меня ничего нет в / etc / cni /net .d /, кажется, он что-то забыл?

ll /etc/cni/net.d/
total 0
sudo kubectl --kubeconfig="/etc/kubernetes/admin.conf" -n kube-system get pods
    NAME                                       READY   STATUS                  RESTARTS   AGE
calico-kube-controllers-5644fb7cf6-f7lqq   0/1     Pending                 0          3h
calico-node-f4xzh                          0/1     Init:ImagePullBackOff   0          3h
coredns-7fb8cdf968-bbqbz                   0/1     Pending                 0          3h24m
coredns-7fb8cdf968-vdnzx                   0/1     Pending                 0          3h24m
etcd-master-1                       1/1     Running                 0          3h24m
kube-apiserver-master-1            1/1     Running                 0          3h24m
kube-controller-manager-master-1    1/1     Running                 0          3h24m
kube-proxy-9m879                           1/1     Running                 0          3h24m
kube-scheduler-master-1             1/1     Running                 0          3h24m

Как я объяснил, я бегу через локальный репозиторий, а journalctl говорит:

 kubelet[21935]: E0225 14:30:54.830683   21935 pod_workers.go:191] Error syncing pod cec2f72b-844a-4d6b-8606-3aff06d4a36d ("calico-node-f4xzh_kube-system(cec2f72b-844a-4d6b-8606-3aff06d4a36d)"), skipping: failed to "StartContainer" for "upgrade-ipam" with ErrImagePull: "rpc error: code = Unknown desc = Error response from daemon: Get https://repo:10000/v2/calico/cni/manifests/v3.11.2: no basic auth credentials"
 kubelet[21935]: E0225 14:30:56.008989   21935 kubelet.go:2183] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

Чувствует как будто это не только CNI проблема

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Итак, проблема с Init: ImagePullBackOff заключалась в том, что он не может автоматически применить изображение из моего личного репо. Мне пришлось вытащить все изображения для ситца из docker. Затем я удалил модуль ситца, который воссоздает сам себя, с новым нажатием изображения

sudo docker pull private-repo/calico/pod2daemon-flexvol:v3.11.2
sudo docker pull private-repo/calico/node:v3.11.2
sudo docker pull private-repo/calico/cni:v3.11.2
sudo docker pull private-repo/calico/kube-controllers:v3.11.2

sudo kubectl -n kube-system delete po/calico-node-y7g5

После этого узел повторно выполняет всю фазу инициализации и:

sudo kubectl get pods -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-5644fb7cf6-qkf47   1/1     Running   0          11s
calico-node-mkcsr                          1/1     Running   0          21m
coredns-7fb8cdf968-bgqvj                   1/1     Running   0          37m
coredns-7fb8cdf968-v85jx                   1/1     Running   0          37m
etcd-lin-1k8w1dv-vmh                       1/1     Running   0          38m
kube-apiserver-lin-1k8w1dv-vmh             1/1     Running   0          38m
kube-controller-manager-lin-1k8w1dv-vmh    1/1     Running   0          38m
kube-proxy-9hkns                           1/1     Running   0          37m
kube-scheduler-lin-1k8w1dv-vmh             1/1     Running   0          38m
1 голос
/ 21 февраля 2020

Базовый DNS-модуль будет в ожидании, и мастер будет NotReady, пока модули ситца не будут успешно запущены и CNI не будет настроен правильно.

Кажется, что проблема с сетью при загрузке изображений ситца docker из docker. Ио. Таким образом, вы можете извлекать изображения ситца из docker .io and и pu sh в свой внутренний реестр контейнеров, а затем изменять yaml ситца, чтобы ссылаться на этот реестр в разделе изображений в calico.yaml и, наконец, применять измененный yaml ситца к Кубернетский кластер.

...