vault backup: 2026-04-29 08:58:24

This commit is contained in:
Dmitry
2026-04-29 08:58:24 +03:00
parent 231514e081
commit c96878f828
15 changed files with 143 additions and 30 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
"interfaceFontFamily": "Inter",
"textFontFamily": "Inter",
"baseFontSizeAction": true,
"baseFontSize": 16,
"baseFontSize": 17,
"monospaceFontFamily": "",
"nativeMenus": false,
"showRibbon": false
+33 -18
View File
@@ -13,13 +13,13 @@
"state": {
"type": "markdown",
"state": {
"file": "01 Library/11 Machine Learning/Линейные модели.md",
"file": "01 Library/02 DevOps/Kubernetes/Kubernetes.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Линейные модели"
"title": "Kubernetes"
}
},
{
@@ -28,17 +28,32 @@
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/Анализ типа фин. устойчивости.md",
"file": "00 Inbox/Data Plane - Плоскость данных.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Анализ типа фин. устойчивости"
"title": "Data Plane - Плоскость данных"
}
},
{
"id": "0097adcc4b7e955f",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/Control Plane - Плоскость управления.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Control Plane - Плоскость управления"
}
}
],
"currentTab": 1
"currentTab": 2
}
],
"direction": "vertical"
@@ -262,9 +277,20 @@
"obsidian-git:Open Git source control": false
}
},
"active": "9860cb6515fd025c",
"active": "0097adcc4b7e955f",
"lastOpenFiles": [
"01 Library/02 DevOps/Kubernetes/Kubernetes.md",
"01 Library/11 Machine Learning/Линейные модели.md",
"00 Inbox/Control Plane - Плоскость управления.md",
"00 Inbox/Data Plane - Плоскость данных.md",
"99 System/Cache/Pasted image 20260429085656.png",
"99 System/Cache/Pasted image 20260429085653.png",
"00 Inbox/Алгоритм консенсуса raft.md",
"00 Inbox/Алгоритм выбора лидера Lease.md",
"99 System/Cache/Pasted image 20260428175706.png",
"99 System/Cache/Pasted image 20260428175708.png",
"99 System/Cache/Pasted image 20260428175716.png",
"99 System/Cache/Pasted image 20260428175720.png",
"00 Inbox/Анализ типа фин. устойчивости.md",
"03 Journal/03 Journal.md",
"02 Projects/Наука/НИР/НИР.md",
@@ -288,13 +314,8 @@
"01 Library/11 Machine Learning/Нейронные сети.md",
"01 Library/10 Finance/Экономическая Безопасность",
"CLAUDE.md",
"99 System/Claude - Инструкция и контекст.md",
"00 Inbox/Курсовая инфа.md.tmp.165293.1776760040061",
"02 Projects/Личные/Финансы/Подписки - календарь.md",
"01 Library/02 DevOps/Контейнеризация/Docker/Docker - Дополнительные знания.md",
"CLAUDE.md.tmp.114174.1776715992129",
"01 Library/02 DevOps/Контейнеризация/Docker/Основы - Docker.md",
"01 Library/01 Admin/CA и NGINX.md",
"01 Library/08 Study/OSINT - Зачет.md.tmp.41192.1776715609646",
"01 Library/07 HomeLab/Проблемы дистрибутивов.md.tmp.41192.1776715581823",
"01 Library/06 Programming/Ruby On Rails/Active Storage.md.tmp.41192.1776715578452",
@@ -303,12 +324,6 @@
"99 System/Cache/Pasted image 20260417105833.png",
"99 System/Cache/Pasted image 20260417105754.png",
"99 System/Cache/Pasted image 20260413131243.png",
"99 System/Cache/Pasted image 20260413131152.png",
"99 System/Cache/Pasted image 20260413131129.png",
"99 System/Cache/Pasted image 20260413130714.png",
"99 System/Cache/Pasted image 20260410110555.png",
"99 System/Cache/Pasted image 20260410110002.png",
"99 System/Cache/Pasted image 20260410105854.png",
"99 System/Cache/Pasted image 20260410105817.png"
"99 System/Cache/Pasted image 20260413131152.png"
]
}
@@ -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/
+8 -11
View File
@@ -5,20 +5,21 @@ tags:
- devops
- container
created: 2026-02-13
updated: 2026-02-27
updated: 2026-04-28
title: Kubernetes
---
# Kubernetes
K8s состоит из двух основных компонент:
1) **Control Plane** - плоскость управления
2) **Data Plane** - плоскость данных
2) **Data Plane** - плоскость данных
![[Pasted image 20251220211253.png|600]]
## Компоненты Control Plane
1) etcd - open-source key-value хранилище, использующее алгоритм консенсуса raft для обеспечения надежного способа хранения данных.
В k8s используется для хранения конфигурации всего кластера.
![[Pasted image 20251220211307.png|300]]
2) kube-api-server - основной компонент для взаимодействия с кластером и обязательный посредник между всем компонентами k8s в data и control plane
- используется REST API
- является точкой входа в кластер
@@ -26,20 +27,14 @@ K8s состоит из двух основных компонент:
- обеспечение разграничивания прав доступа к содержимому кластера (авторизация и аутентификация)
- stateless-компонент
- установка на каждую master-ноду
- выбор лидера происходит по алгоритму **lease**
> [!abstract] lease
> Алгоритм выбора лидирующего узла в распределнных системах, позволяющий сохранять консистентность данных
> Суть проста: узел, который первым запишет себя в хранилище конфигурации кластера, как лидер, тот и станет лидером
> Если лидер перестал выполнять свои функции, то борьба за место лидера по такому же принципу
- выбор лидера происходит по алгоритму **[[Алгоритм выбора лидера Lease|lease]]**
3) kube-controller-manager - компонент, ответственный за работу контроллеров.
- связывает kube-controller и отвечает за их работу
- сборка мусора
- stateless
- на каждой master-ноде
- выбор лидера аналогично по алгоритму lease
![[Pasted image 20251220211330.png|400]]
- выбор лидера аналогично по алгоритму [[Алгоритм выбора лидера Lease|lease]]
Существующие kube-controllers:
- node-controller - поддержка связи с узлами кластера, инициализация перенаправления рабочих нагрузок с вышедший из строя узлов.
@@ -48,6 +43,8 @@ K8s состоит из двух основных компонент:
- token-c.
- account-c.
Конспект от MA: [[Devops вводный 9 урок. Введение в Kubernetes. Компоненты control и Data plane.pdf]]
Другие решения:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB