Анатомия Kubernetes - как это работает изнутри?

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
10,604
Реакции
1,625
Credits
39,566
Анатомия Kubernetes - как это работает изнутри?
photo_2026-01-19_09-56-48.jpg
Часто мы используем kubectl, не задумываясь, что происходит «под капотом». На этой схеме отлично разложено устройство кластера Kubernetes. Давайте разберем три главных уровня архитектуры.

1. Control Plane (Панель управления) - «Мозг» кластера
Это центр принятия решений. Именно здесь определяется, что и где должно работать.
API Server (в центре): Единая точка входа. Все компоненты общаются только через него (и вы через CLI тоже). Примечание: на схеме иконка подписана как Kube-Scheduler, но функционально и визуально (надпись API) это именно API Server.
etcd: «Память» кластера. Надежное хранилище типа «ключ-значение», где лежит вся конфигурация и текущее состояние системы.
Kube-Scheduler: Логист. Решает, на какую именно ноду (узле) запустить новый Pod, исходя из свободных ресурсов.
Controller Manager: Смотритель. Следит, чтобы текущее состояние кластера совпадало с желаемым (например, если упал под - он его перезапустит).
Cloud-Controller Manager: Связной с облаком. Управляет ресурсами, специфичными для облачного провайдера (AWS, Azure, GCP).

2. Worker Nodes (Рабочие узлы) - «Мускулы» кластера
Здесь крутятся ваши приложения.
Pod (Под): Минимальная единица в K8s. Внутри пода живет один или несколько контейнеров.
Container Runtime (Docker): Движок, который фактически запускает контейнеры.
Kubelet: Главный агент на узле. Получает задачи от Control Plane и гарантирует, что контейнеры в поде запущены и работают.
Kube-Proxy: Сетевой регулировщик. Отвечает за сетевые правила и проброс трафика к подам.

3. Kubernetes Extensions - Инструменты
То, с чем взаимодействуем мы или системы мониторинга:
CLI: Консольная утилита (kubectl).
Web Admin UI: Дашборд для визуального управления.
DNS: Для обнаружения сервисов внутри кластера.
Monitoring: Сбор метрик ресурсов.

Control Plane командует, Worker Nodes исполняют, а Extensions помогают нам этим управлять.