Я предполагаю, что для данных выходных данных проблема связана с Kubelet агентом узла, поскольку kubelet
в основном требует установки сетевого плагина CNI .Чтобы автоматически настроить сетевые функции для модулей, kubelet
запускается каждый раз CNI addon в предыдущем создании модуля, чтобы также настроить сетевой интерфейс модуля.Кроме того, служба обнаружения CoreDNS полагается на оверлейную контейнерную сеть, которая будет доступна для всех узлов кластера.
Хотя вы использовали Flannel CNI-провайдер, flannel
Pod запущен и работает, так как kubelet
не может создать интерфейс контейнера для определенных CoreDNS
Pod с отсутствиемДля конфигурации CNI я бы рекомендовал сбросить кластер kubeadm
с очищенной структурой папок избыточных компонентов:
$ sudo kubeadm reset
$ sudo systemctl stop docker && sudo systemctl stop kubelet
$ sudo rm -rf /etc/kubernetes/
$ sudo rm -rf .kube/
$ sudo rm -rf /var/lib/kubelet/
$ sudo rm -rf /var/lib/cni/
$ sudo rm -rf /etc/cni/
$ sudo rm -rf /var/lib/etcd/
Bootstrap K8s clusterчерез kubeadm
:
$ sudo systemctl start docker && sudo systemctl start kubelet
$ sudo kubeadm init ...
Далее удалите node-role.kubernetes.io/master
taint и примените фланелевое дополнение:
$ kubectl taint nodes --all node-role.kubernetes.io/master-
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Вы также можете найти полезную информацию о kubeadm
устранении неполадок этапах руководства в официальной документации K8s.