AKS - неверный статус Pod - PullRequest
       132

AKS - неверный статус Pod

0 голосов
/ 18 февраля 2020

У меня есть кластер AKS с двумя пулами узлов. Пул узлов 1 имеет 3 узла, а пул узлов 2 имеет 1 узел - все Linux ВМ. Я заметил, что после остановки виртуальных машин и последующего выполнения kubectl get pods статус Pod показывает «работает», хотя виртуальные машины фактически не работают. Как это возможно?

Это команда, которую я попробовал: kubectl get pods -n development -o=wide

Скриншот приведен ниже. Хотя виртуальные машины не работают, статус Pod показывает «работает». Однако попытка доступа к приложению с использованием IP-адреса Publi c привела к

ERR_CONNECTION_TIMED_OUT

enter image description here

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

Вот полная тема (https://github.com/kubernetes/kubernetes/issues/55713) по этому вопросу. Проблема здесь заключается в том, что по умолчанию модуль ждет 5 минут, прежде чем выселится на другой узел, когда текущий узел становится notReady, но в этом случае ни один из рабочих узлов не готов и, следовательно, модули не выселяются. Обратитесь к проблеме git, есть некоторые предложения и решения.

0 голосов
/ 20 февраля 2020

То, что происходит на самом деле, связано с тем, что процессы kubelet, запущенные на узлах, не могут предоставить свое состояние серверу Kubernetes API. Kubernetes всегда будет предполагать, что ваши POD работают, когда узлы, связанные с ним, отключены. Тот факт, что все узлы находятся в автономном режиме, фактически приведет к тому, что ваш POD не будет работать, следовательно, будет недоступен, что приведет к ERR_CONNECTION_TIMED_OUT

. Вы можете запустить kubectl get nodes, чтобы получить состояние узлов, они должны показывать NotReady. , Пожалуйста, проверьте и дайте мне знать. Кроме того, не могли бы вы предоставить вывод для kubectl get pods -A

...