TGViewer
Сочный DevOps Сочный DevOps @andtree_sec · 420 subscribers
Post #107 26
Выселение (eviction) подов с недоступной ноды

В kubernetes компонент kube-controller-manager отвечает за управление различными контроллерами, один из таких контроллеров это node controller, он следит за состоянием узлов и отвечает за эвакуацию подов с недоступных нод.

У него есть параметр --pod-eviction-timeout, который определяет время ожидания перед началом эвакуации подов с узла, который считается недоступным. То есть данный параметр задает период, в течении которого контроллер ожидает восстановления связи с нодой, перед тем как начать процесс эвакуации подов, которые размещены на этом узле.

Как это работает?

Node controller периодически проверяет состояние каждого узла в кластере. Если узел не отвечает на проверки, в течении периода, определенного параметром --node-monitor-grace-period, данный узел помечается как недоступный (NodeNotReady).
После этого контроллер начинает отсчет таймера эвакуации, определенного в значении --pod-eviction-timeout, о котором было выше.
Когда таймер заканчивается и если узел не восстановился за это время, то начинается процесс эвакуации подов, kube-controller-manager уведомляет другие контроллеры, например replicaSet о необходимости создать новые реплики подов на других, доступных узлах.

По шагам, картина выглядит примерно так:
1. Узел перестает отвечать.
2. Node controller ожидает восстановления узла согласно времени, заданному в --node-monitor-grace-period.
3. Если узел по прежнему недоступен по истечению этого периода, то запускается таймер эвакуации --pod-eviction-timeout.
4. Когда он заканчивается, контроллер начинает выселять поды с недоступного узла.

#kubernetes
More from @andtree_sec
  1. Sep 7, 2026Давненько не было сообщений. Скорее всего в будущем они уйдут в telegraf, который я еще не…
  2. Jul 6, 2026Последнее время на работе часто приходится работать с apache flink и даже что-то писать на…
  3. Jun 4, 2026Немножко про молекула тесты... У нас принято использовать в переменных lookup плагин для д…
  4. May 20, 2026Очередной небольшой проект. Веб-приложение, которое агрегирует через стандартный механиз g…
  5. May 15, 2026Включаем профилирование в ansible Профилирование, это вывод даты, времени запуска и итогов…
  6. Apr 17, 2026Так выглядит общий dashbord работы с инцидентами.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →