Введение
Когда вы впервые сталкиваетесь с 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 становится всё интереснее, когда вы начинаете его понимать.
→ Узнать больше: