По умолчанию kubectl drain
является неразрушающим, вы должны переопределить, чтобы изменить это поведение.Он работает со следующими значениями по умолчанию:
--delete-local-data=false
--force=false
--grace-period=-1
--ignore-daemonsets=false
--timeout=0s
Каждая из этих мер безопасности имеет дело с различной категорией потенциального уничтожения (локальные данные, открытые модули, изящное завершение, наборы демонов).Он также учитывает бюджеты разрушения стручков для обеспечения доступности рабочей нагрузки.Любой не-пустой модуль будет воссоздан на новом узле соответствующим контроллером (например, daemonset controller
, replication controller
).
Вам решать, хотите ли вы переопределить это поведение (например, у вас может бытьпустой модуль при выполнении задания jenkins. Если вы переопределите, установив --force=true
, он удалит этот модуль и не будет воссоздан).Если вы не переопределите его, узел будет находиться в режиме стока неограниченно (--timeout=0s
)).