Быстрый перезапуск подов с сохранением состояния без влияния на проверку готовности
У нас есть набор состояний, который мы хотим иметь минимальное время простоя (как и любой другой набор состояний, я полагаю), но модуль застревает в состоянии "завершение", поскольку порог отказа проверки готовности равен 5 (добавляет 5 секунд простоя во время состояния "Завершение" без причины). Итак, чтобы он завершился быстрее, я снизил порог сбоя до 1, теперь он завершается быстрее, однако теперь, когда порог сбоя настолько низок, он время от времени вызывает случайные неготовые модули из-за того, что ЦП достигает 100% или другой переходный процесс. проблемы.
Мой вопрос: как я могу ускорить завершение работы модулей, сохраняя при этом высокое значение порога отказа готовности, чтобы сократить время простоя во время перезапуска модуля? (Кроме того, я был бы признателен за любые другие случайные советы, которые заставят модули перезапускаться быстрее (например, тратить меньше времени на ContainerCreating)
1 ответ
Если вы хотите удалить Pod принудительно с помощью kubectl версии>= 1.5, сделайте следующее:
kubectl delete pods <pod> --grace-period=0 --force
Если вы используете любую версию kubectl <= 1.4, вам следует опустить параметр --force и использовать:
kubectl delete pods <pod> --grace-period=0
Если даже после этих команд модуль застрял в состоянии Неизвестно, используйте следующую команду для удаления модуля из кластера:
kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'
Ссылка: https://kubernetes.io/docs/tasks/run-application/force-delete-stateful-set-pod/