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

Часто мы используем 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 помогают нам этим управлять.

Часто мы используем 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 помогают нам этим управлять.