Всем привет!
Есть много разных статей в стиле «what happens when…». Например, что происходит при использовании команды
kubectl apply -f smth.yaml.Сегодняшняя статья рассказывает про то, что происходит при
kubectl delete pod. Например, как k8s понимает, что надо ограничить трафик к «умирающему» pod? Как реализовать graceful shutdown и т.д.Процесс выглядит следующим образом:
🍭 Обновление записи в
etcd: добавление deletionTimestamp, deletionGracePeriodSeconds. Pod получает статус terminating
🍭Удаление endpoint pod из соответствующих services
🍭kubelet останавливает pod, api-server удаляет запись о pod’е из etcd
В статье все расписано более детально, уточнены нюансы: например, зачем нужен grace period. В завершении статьи представлены эксперименты с различными параметрами процесса удаления pod’a.