Техническое обслуживание узла Kubernetes требует структурированного подхода, чтобы обеспечить нулевой простой и правильное управление рабочими нагрузками. Процесс включает подготовку узла, безопасное удаление рабочих нагрузок и восстановление сервиса после этого.
Сначала пометь узел как недоступный для планирования с помощью команды cordon:
kubectl cordon <node-name>
Это предотвращает планирование новых подов на узле, пока существующие поды продолжают работать.
Затем удали все запущенные поды с узла с помощью команды drain:
kubectl drain <node-name> --ignore-daemonsets
Работа с DaemonSet
--ignore-daemonsetsОсобенности StatefulSet
PendingПосле завершения задач обслуживания (патчирование, исправления безопасности, обновления) верни узел в нормальное состояние:
kubectl uncordon <node-name>
Это позволяет планировщику снова размещать новые поды на узле.
Рабочий процесс обслуживания: Блокировка → Слив (с флагами) → Обслуживание → Разблокировка. Правильное планирование и понимание типов рабочих нагрузок необходимы для безупречного обслуживания.
Команда kubectl cordon немедленно удаляет все запущенные pod'ы с ноды и предотвращает планирование новых pod'ов на ней.
Новый — ещё не проверен сообществом
Вы