Введение
Одна из магических особенностей 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 — выдает сервисным аккаунтам доступ
Как он работает?
- Следит за изменениями в API.
- Сравнивает фактическое состояние с желаемым.
- Принимает меры для синхронизации.
kubectl scale deployment my-app --replicas=5
Контроллер увидит это и создаст недостающие поды.
Зачем он нужен
- Обеспечивает отказоустойчивость
- Автоматизирует управление объектами
- Делает Kubernetes самовосстанавливающимся
Без него пришлось бы вручную всё отслеживать и чинить.
Сводка
Контроллер | Отвечает за |
---|---|
Node Controller | Состояние узлов |
ReplicaSet Controller | Количество подов |
Job Controller | Выполнение задач |
Deployment Controller | Развертывания |
Token Controller | Токены доступа |
Заключение
kube-controller-manager
— это тихий герой Kubernetes. Он постоянно следит за кластером, исправляет отклонения и делает вашу инфраструктуру более надёжной и автоматизированной.
Теперь вы знаете, кто всё это чинит без вашего вмешательства 😉
→ Узнать больше: