Поды coredns застряли в состоянии ожидания



Я пытаюсь изучить k8s, и, поскольку у меня есть доступ к облаку OpenStack, я решил, что ' Попробую установить на него k8s, следуя этой вики .
Пока мне удалось инициализировать кластер, установить Weave CNI, подключить внешнего исполнителя и установить диспетчер облачных контроллеров OpenStack. Согласно вышеупомянутой вики, теперь мне нужно дождаться запуска всех модулей в пространстве имен kube-system. Я застрял со стручками coredns ... Они не переходят из состояния Pending .
Из описания модуля я вижу, что моя проблема в том, что главный узел по-прежнему имеет пометку ниже:
node-role.kubernetes.io/master:NoSchedule
Когда я проверяю статус узла, все в порядке:

ubuntu@master-node-01:~$ kubectl get nodes -o wide
NAME             STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME
master-node-01   Ready    master   10h   v1.17.0   10.99.53.6    <none>        Ubuntu 18.04.5 LTS   4.15.0-143-generic   docker://20.10.2
worker-node-01   Ready    <none>   10h   v1.17.0   10.99.53.5    <none>        Ubuntu 18.04.5 LTS   4.15.0-143-generic   docker://20.10.2

Все поды (кроме coredns) работают нормально:

ubuntu@master-node-01:~$ kubectl get pods --all-namespaces -o wide
NAMESPACE     NAME                                       READY   STATUS    RESTARTS   AGE   IP           NODE             NOMINATED NODE   READINESS GATES
kube-system   coredns-6955765f44-g2jnm                   0/1     Pending   0          10h   <none>       <none>           <none>           <none>
kube-system   coredns-6955765f44-wj7xb                   0/1     Pending   0          10h   <none>       <none>           <none>           <none>
kube-system   etcd-master-node-01                        1/1     Running   0          11h   10.99.53.6   master-node-01   <none>           <none>
kube-system   kube-apiserver-master-node-01              1/1     Running   0          11h   10.99.53.6   master-node-01   <none>           <none>
kube-system   kube-controller-manager-master-node-01     1/1     Running   0          11h   10.99.53.6   master-node-01   <none>           <none>
kube-system   kube-proxy-8s8r9                           1/1     Running   0          10h   10.99.53.5   worker-node-01   <none>           <none>
kube-system   kube-proxy-vtgnz                           1/1     Running   0          10h   10.99.53.6   master-node-01   <none>           <none>
kube-system   kube-scheduler-master-node-01              1/1     Running   0          11h   10.99.53.6   master-node-01   <none>           <none>
kube-system   openstack-cloud-controller-manager-dtczj   1/1     Running   0          10h   10.99.53.6   master-node-01   <none>           <none>
kube-system   weave-net-2z5n7                            2/2     Running   2          10h   10.99.53.5   worker-node-01   <none>           <none>
kube-system   weave-net-tm9p4                            2/2     Running   1          10h   10.99.53.6   master-node-01   <none>           <none>

Я нахожу что-нибудь подозрительное в журналах подов.

OpenStack, который я использую, не имеет установленной Octavia (Wiki говорит, что это необходимо для настройки LB, но моя проблема, похоже, не связана с этим).

Если кто-нибудь из присутствующих может помочь мне найти способ исследовать (и в конечном итоге решить) эту проблему, я буду очень признателен. Спасибо.

1
задан 28 May 2021 в 10:23
1 ответ

Похоже, проблема с заражениями . Вы можете попытаться решить проблему несколькими способами:

  • удалить taint:
kubectl taint nodes $(hostname) node-role.kubernetes.io/master:NoSchedule-
  • отредактировать конфигурацию узла и прокомментировать часть taint:
kubectl edit node <node_name>

Вам необходимо обновить узел после комментирования.

  • расписание на главном узле без удаления заражения:
apiVersion: extensions/v1beta1
kind: Deployment
...
  spec:
...
    spec:
...
      tolerations:
        - key: "node-role.kubernetes.io/master"
          effect: "NoSchedule"
          operator: "Exists"
kubectl taint nodes $(kubectl get nodes --selector=node-role.kubernetes.io/master | awk 'FNR==2{print $1}') node-role.kubernetes.io/master-
0
ответ дан 28 July 2021 в 13:23

Теги

Похожие вопросы