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