vault backup: 2026-04-29 08:58:24
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-29
|
||||
title: Control Plane - Плоскость управления
|
||||
---
|
||||
|
||||
# Control Plane - Плоскость управления
|
||||
|
||||
В k8s плоскостью управления выступают master-узлы
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
status: seed
|
||||
type: concept
|
||||
tags:
|
||||
- devops
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-29
|
||||
title: Data Plane - Плоскость данных
|
||||
---
|
||||
|
||||
# Data Plane - Плоскость данных
|
||||
К плоскости данных (Data plane) кластера Kubernetes относят рабочие узлы (Workers), на которых запускаются рабочие нагрузки.
|
||||
|
||||
Компоненты Kubelet и Kube-proxy устанавливаются как на узлы управления (Masters), так и на рабочие узлы (Workers), обеспечивая работоспособность рабочих нагрузок в Data-plane и отвечая за их связь с плоскостью управления (Control plane).
|
||||
|
||||
![[Pasted image 20260429085656.png]]
|
||||
## Kubelet
|
||||
**kubelet** - агент на *каждом* узле кластера.
|
||||
- Работает как процесс системы, а не контейнер;
|
||||
- поддержка *любой* k8s-совместимой системы оркестрации (CRI - docker, podman);
|
||||
- запускает контейнеры с *рабочими* нагрузками;
|
||||
- обеспечение проверок (**startup**, **readines**, **liveness probes**).
|
||||
|
||||
Т.е. это агент k8s непосредственно на клиенте (как zabbix-agent, например), он взаимодействует с системой worker-node (и master, тоже)
|
||||
|
||||
## Проверки kubelet
|
||||
1) **startup probe** - применяется первой для определения факта запуска контейнера;
|
||||
![[Pasted image 20260428175708.png|200]]
|
||||
2) **readiness probe** - проверка готовности развернутого в контейнере приложения принимать и обрабатывать рабочую нагрузку;
|
||||
![[Pasted image 20260428175716.png|200]]
|
||||
3) **liveness probe** - периодическая проверка запущенного приложения.
|
||||
![[Pasted image 20260428175720.png|200]]
|
||||
|
||||
## Kube-proxy
|
||||
**kube-proxy** - компонент, отвечающий за *сетевое проксирование* и обеспечивающий *базовые* сетевые правила на узлах управления (Masters) и узлах данных (Workers).
|
||||
|
||||
- Управляет основными сетевыми правилами на узлах кластера Kubernetes
|
||||
- Запускается в контейнере.
|
||||
- Может делегировать часть своих функций сетевым плагинам (CNI).
|
||||
|
||||
### Интерфейсы универсального взаимодействия (плагины)
|
||||
1) **CRI (Container Runtime Interface)** — интерфейс *коммуникации* между компонентом *Kubelet* и используемой kubernetes-совместимой *системой контейнеризации*.
|
||||
2) **CNI (Container Network Interface)** — интерфейс для выполнения сетевых функций кластера Kubernetes-совместимыми сетевыми плагинами (Network plugins).
|
||||
3) **CSI (Container Storage Interface)** — интерфейс обеспечения необходимых действий над персистентным хранением данных рабочих нагрузок кластера kubernetes-совместимыми Volume-drivers.
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags:
|
||||
- k8s
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-28
|
||||
title: Алгоритм выбора лидера Lease
|
||||
---
|
||||
|
||||
# Алгоритм выбора лидера Lease
|
||||
|
||||
Алгоритм выбора лидирующего узла в распределнных системах, позволяющий сохранять консистентность данных
|
||||
|
||||
**Суть проста**: узел, который первым запишет себя в хранилище конфигурации кластера, как лидер, тот и станет лидером
|
||||
|
||||
Если лидер перестал выполнять свои функции, то борьба за место лидера по **такому же принципу**.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
status: stable
|
||||
type: concept
|
||||
tags: []
|
||||
created: 2025-12-17
|
||||
updated: 2026-04-29
|
||||
title: Алгоритм консенсуса raft
|
||||
---
|
||||
|
||||
# Алгоритм консенсуса raft
|
||||
|
||||
**Raft** — алгоритм консенсуса, применяющийся в распределенных системах, и обеспечивающий безопасную и согласованную репликацию данных между всеми участниками.
|
||||
|
||||
Состоит из двух фаз:
|
||||
1) Выбор лидера (**leader election**)
|
||||
2) Репликация данных (**log replication**)
|
||||
|
||||
Каждый участник в любой момент времени находится только в одном состоянии:
|
||||
1) Лидер (**leader**) - только один;
|
||||
2) Кандидаты в лидеры (**candidate**);
|
||||
3) Ведомый (**follower**).
|
||||
|
||||
*Raft* в фазе выбора лидера опирается на понятие кворума (**quorum**) - большинства.
|
||||
Из-за этого, в частности, есть рекомендация: *количество master-node должно быть нечетным*.
|
||||
|
||||
Визуализация алгоритма консенсуса Raft: http://thesecretlivesofdata.com/raft/
|
||||
Reference in New Issue
Block a user