37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
# 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]]
|