Введение

Одна из магических особенностей Kubernetes — всё как будто само собой работает: поды восстанавливаются, реплики создаются, сбои обрабатываются.

Но кто стоит за этим?

Всё это благодаря компоненту kube-controller-manager. Давайте разберёмся, что он делает и как.


Что такое kube-controller-manager?

Это компонент управляющей плоскости Kubernetes, который запускает множество контроллеров.

Представьте его как группу помощников, которые следят за кластером и приводят его в порядок, если что-то пошло не так.


Что такое контроллер?

Контроллер — это цикл, который следит за текущим состоянием кластера и старается привести его к желаемому состоянию.

Например:

  • Вы указали 3 пода, но работает только 2? Контроллер создаст третий.
  • Узел вышел из строя? Контроллер переселит поды.

Какие контроллеры запускает?

kube-controller-manager включает в себя множество контроллеров:

  • Node Controller — следит за здоровьем узлов
  • Replication Controller — поддерживает нужное число подов
  • Deployment Controller — управляет rollout/rollback
  • Job Controller — отслеживает выполнение задач
  • Token Controller — выдает сервисным аккаунтам доступ

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

  1. Следит за изменениями в API.
  2. Сравнивает фактическое состояние с желаемым.
  3. Принимает меры для синхронизации.
kubectl scale deployment my-app --replicas=5

Контроллер увидит это и создаст недостающие поды.


Зачем он нужен

  • Обеспечивает отказоустойчивость
  • Автоматизирует управление объектами
  • Делает Kubernetes самовосстанавливающимся

Без него пришлось бы вручную всё отслеживать и чинить.


Сводка

КонтроллерОтвечает за
Node ControllerСостояние узлов
ReplicaSet ControllerКоличество подов
Job ControllerВыполнение задач
Deployment ControllerРазвертывания
Token ControllerТокены доступа

Заключение

kube-controller-manager — это тихий герой Kubernetes. Он постоянно следит за кластером, исправляет отклонения и делает вашу инфраструктуру более надёжной и автоматизированной.

Теперь вы знаете, кто всё это чинит без вашего вмешательства 😉

→ Узнать больше: