В таких случаях я обычно начинаю устранение неполадок кластера с проверки состояния модулей в пространстве имен kube-system с помощью команды:
$ kubectl get pods --all-namespaces -o wide
Должно быть несколько модулей, связанных с сетью, работающих на каждом узле, например:
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE
kube-system calico-node-2rpns 2/2 Running 0 2h 10.154.0.5 kube-node1
kube-system calico-node-cn6cl 2/2 Running 0 2h 10.154.0.6 kube-master
kube-system calico-node-fr7v5 2/2 Running 1 2h 10.154.0.7 kube-node2
Полный набор сетевого контейнера зависит от того, какое сетевое решение Kubernetes используется.
Затем я проверяю, есть ли какие-то модули в состоянии «Не готов», и проверяю ошибки в описании:
$ kubectl describe pod not-ready-pod-name
Если есть ошибки, связанные с извлечением изображений или созданием контейнера, я проверяю логи kubelet на узле для получения более подробной информации:
$ journalctl -u kubelet
или попробуйте вытащить изображение вручную, чтобы убедиться, что изображение доступно и может быть извлечено:
$ docker pull <image>
Если у модуля много перезапусков, я проверяю журналы контейнера модуля:
$ kubectl logs ${POD_NAME} ${CONTAINER_NAME}
или журналы предыдущего разбитого контейнера:
$ kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
Мои следующие шаги зависят от предыдущих результатов.
Если вы добавите свои результаты к вопросу, можно будет рассказать вам больше о деле.
person
VASャ
schedule
29.06.2018
PodSandBox
почти всегда является ошибкой CNI - используете ли вы SDN, и если да, правильно лиkubeadm
настроил его на этом узле? - person mdaniel   schedule 29.06.2018