Я удалил все узлы Azure AKS Kubernetes. Как восстановить кластер в исходное состояние?
Я новичок в мире кластеров Azure AKS, и, возясь с тестовым кластером, я удалил все его узлы с помощьюkubectl delete node xxxx
, думая, что кластер исцелится сам. Боже, я ошибался.
Теперь позвольте мне объяснить проблему, поэтому, когда я запускаюkubectl get nodes
, я получил . В «Пулах узлов» на портале я вижу, что есть 3 узла, я масштабировал пул вверх и вниз, но в kubectl узлов нет —No resources found
. Когда я бегуkubectl get pods
, все модули отображаются в состоянии ожидания.
Дополнительная информация:
- Кластер AKS был создан вручную, шаблон или сценарий ARM не был сохранен.
- Кластер AKS использует набор доступности (а не набор масштабирования) для пула, поэтому я не могу добавить новый пул и переместить туда модули.
Мой вопрос(ы) к вам:
- Как заставить узлы снова отображаться в kubectl? (В пуле есть 3 узла)
- Могу ли я как-то восстановить работоспособность кластера? Переместить капсулы как-нибудь куда-нибудь?
- Что бы вы сделали в этом случае?
РЕДАКТИРОВАТЬ:
- через некоторое время, когда я запустил «kubectl get nodes», появилось сообщение «Ресурсы не найдены», теперь 2 узла снова подключились к сети, но один все еще отсутствует. Количество пулов равно 3. 2 показанных узла находятся в состоянии готовности. Но все модули все еще находятся в состоянии ожидания. Никаких ошибок в событиях.
Новый вопрос:
- Есть ли способ начать заполнять 2 готовых узла ожидающими модулями?
Еще раз спасибо, ребята.
2 ответа
Спасибо всем за помощь, поэтому мы провели сеанс поддержки с командой поддержки MS, и, как всегда, мы рекомендовали сначала обновить кластер до поддерживаемой версии AKS, а затем посмотреть, что делать дальше. Я запустил обновление az aks до следующей поддерживаемой версии, и все узлы были правильно перераспределены, и подключение к серверу API восстановилось. Поды начали работать нормально, и кластер снова подключился к сети. Если быть точным, решением было обновить кластер до поддерживаемой версии кластера AKS с помощью CLI.
Еще раз спасибо, ребята
Если вы запустили kubectl delete node, этот узел больше не регистрируется в Kubernetes. Если бы вы использовали масштабируемые наборы, то лучшим вариантом было бы уменьшить масштаб, а затем снова создать резервную копию, чтобы получить новые узлы и перерегистрировать их. В вашем сценарии с группами доступности у вас нет такой возможности. Вы можете попробовать запустить обновление узла, которое может перерегистрировать его, или вы можете удалить виртуальную машину и позволить AKS воссоздать ее.
С учетом вышесказанного, группы доступности в настоящее время не являются способом реализации AKS. На вашем месте я бы просто удалил кластер и воссоздал его с помощью VMSS, учитывая, что это тестовый кластер.