Как перенести модуль из узла в kubernetes (серверы baremetal)?

#kubernetes

#kubernetes

Вопрос:

Узлы Kubernetes становятся незапланированными, пока я инициирую слив или оцепление, но модули, доступные на узле, не перемещаются на другой узел немедленно?

я имею в виду, что эти модули не создаются daemonset.

Итак, как получилось, что модуль, работающий под управлением приложения, может быть доступен на 100%, когда узел становится неисправным или с некоторыми проблемами?

какие-либо входные данные?

используемая команда :

Для слива / оцепления, чтобы сделать узел недоступным:

 kubectl drain node1
kubectl cordon node1
  

Чтобы проверить состояние узла :

 kubectl get nodes
  

Чтобы проверить состояние модуля до / после оцепления или слива :

 kubectl get pods -o wide
kubectl describe pod <pod-name>
  

Удивительно то, что даже узел недоступен, статус модуля отображается всегда запущенным. 🙂

Комментарии:

1. вероятно, ваш модуль все еще находился в льготном периоде, потому что в вашей команде drain нет опции —force .

Ответ №1:

Модули сами по себе не переносятся на другой узел.

Вы можете использовать ресурсы рабочей нагрузки для создания нескольких модулей и управления ими. Контроллер ресурса обрабатывает репликацию и развертывание, а также автоматическое восстановление в случае сбоя модуля. Например, если узел выходит из строя, контроллер замечает, что модули на этом узле перестали работать, и создает модуль замены. Планировщик помещает модуль замены на исправный узел.

Некоторые примеры контроллеров:

Проверьте эту ссылку для получения дополнительной информации.