Введение

Когда вы впервые сталкиваетесь с Kubernetes, он может показаться сложным монстром. Но всё гораздо проще, если представить его как команду, где каждый отвечает за своё.

Компоненты управляющей плоскости и узлов

Архитектура делится на две части:

  • Управляющая плоскость (Control Plane) — мозг кластера
  • Компоненты узла (Node) — рабочие, которые запускают ваши приложения

🧠 Управляющая плоскость (Control Plane)

1. API Server (kube-apiserver)

Это главный вход в кластер. Всё — от kubectl до внутренних компонентов — общается с кластером через API сервер.

kubectl get pods

Эта команда сначала идёт в API.

2. Scheduler (kube-scheduler)

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

Можно представить как умного диспетчера: “Этот узел свободен — туда и отправим!”

3. Controller Manager (kube-controller-manager)

Отвечает за фоновую работу — масштабирование, самовосстановление и т.д.

  • Следит за соответствием текущего и желаемого состояния
  • Управляет ReplicaSet, узлами и другими объектами

4. etcd

Это база данных кластера. Хранит всё текущее состояние и конфигурации.

Если etcd умер и бэкапа нет — кластеру конец.


⚙️ Компоненты узлов

1. Kubelet

Агент, который работает на каждом узле. Получает инструкции от API и следит, чтобы всё работало.

kubectl describe node

Показывает, чем управляет kubelet.

2. Kube Proxy

Отвечает за сетевые правила и связь между подами и сервисами.

3. Контейнерный рантайм

То, что запускает контейнеры: Docker, containerd, CRI-O и др.


Сводная таблица

КомпонентРоль
API ServerВход в кластер
SchedulerРаспределяет поды
Controller ManagerСледит за состоянием
etcdХранит конфигурации
KubeletУправляет контейнерами
Kube ProxyОтвечает за сеть
РантаймЗапускает контейнеры

Заключение

Не обязательно запоминать всё сразу. Главное — понимать, кто за что отвечает. А дальше — дело практики. Kubernetes становится всё интереснее, когда вы начинаете его понимать.

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