# Kubernetes — Architecture (one-screen)

## 1) Две плоскости
Kubernetes логически состоит из:
1) **Control Plane** — управление кластером (состояние, расписание, контроллеры).
2) **Data Plane** — рабочие ноды и нагрузки (pods и т.п.).

## 2) Control Plane: ключевые компоненты
### etcd
- key-value хранилище, консенсус **Raft**.
- в k8s хранит конфигурацию/состояние кластера.

### kube-api-server
- **точка входа** в кластер (REST API).
- посредник между компонентами control/data plane.
- аутентификация/авторизация.
- **stateless**, ставится на master-ноды.
- лидер-выбор через **lease**.

### kube-controller-manager
- запускает/координирует контроллеры.
- сборка мусора.
- **stateless**, на master-ноды.
- лидер-выбор через **lease**.

Примеры контроллеров:
- node-controller
- replicaset-controller (см. [[ReplicaSet—Core (one-screen)]])
- endpoint-controller
- token/account controllers

## 3) Lease (idea)
Простой механизм лидер-элекшена: кто первым “записал себя” как leader в хранилище конфигурации — тот лидер; при отказе — переизбрание.

---
**Source:** [[Kubernetes|Kubernetes]]
