Когда Pod не хочет завершаться обычными способами, можно воспользоваться следующей командой для принудительного удаления:
kubectl delete pod <pod_name> --force --grace-period=0 -n <ns_name>
Параметры, которые тут используем:
--force - принудительное удаление пода.
--grace-period=0 - устанавливает период ожидание перед завершением в 0 секунд, что мгновенно убивает процесс.
Немного про grace-period:
grace-period — это время, предоставленное Pod-у для корректного завершения перед его остановкой. Обычно оно задается в секундах и позволяет запущенным процессам завершиться правильно, например, закрыть соединения с базами данных, завершить обработку запросов и т.д.
Если grace-period не указан, Kubernetes использует значение по умолчанию, которое указано в конфигурации Pod-а (terminationGracePeriodSeconds: 30).
Команда выше устанавливает период равным 0, принуждая Pod завершиться немедленно. Это удобно, когда Pod "подвис", но может привести к потере данных или незавершенной работе, так как в таком случае процессу в контейнере отправляется сигнал KILL, в то время как в обычных условиях отправляется TERM.
#kubernetes