diff --git a/.claude/settings.local.json b/.claude/settings.local.json index f59622d..89ece13 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -4,7 +4,10 @@ "mcp__claude_ai_Google_Calendar__list_events", "Bash(awk -F',' '{print $1}')", "Bash(python3 *)", - "Bash(rtk git *)" + "Bash(rtk git *)", + "Bash(rtk read *)", + "Bash(mv \"/home/ada/Documents/Vaults/SecondBrain/00 Inbox/Control Plane - Плоскость управления.md\" \"/home/ada/Documents/Vaults/SecondBrain/01 Library/02 DevOps/Kubernetes/Control Plane - Плоскость управления.md\")", + "Bash(mv \"/home/ada/Documents/Vaults/SecondBrain/00 Inbox/Data Plane - Плоскость данных.md\" \"/home/ada/Documents/Vaults/SecondBrain/01 Library/02 DevOps/Kubernetes/Data Plane - Плоскость данных.md\")" ] }, "outputStyle": "default" diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 0b0217c..4bdb562 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -8,7 +8,7 @@ "type": "tabs", "children": [ { - "id": "a2909ae02718bf9b", + "id": "9860cb6515fd025c", "type": "leaf", "state": { "type": "markdown", @@ -21,39 +21,8 @@ "icon": "lucide-file", "title": "Kubernetes" } - }, - { - "id": "9860cb6515fd025c", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "00 Inbox/Data Plane - Плоскость данных.md", - "mode": "source", - "source": false, - "backlinks": false - }, - "icon": "lucide-file", - "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": 2 + ] } ], "direction": "vertical" @@ -277,10 +246,15 @@ "obsidian-git:Open Git source control": false } }, - "active": "0097adcc4b7e955f", + "active": "9860cb6515fd025c", "lastOpenFiles": [ - "01 Library/02 DevOps/Kubernetes/ReplicaSet.md", + "01 Library/02 DevOps/Kubernetes/Kubernetes.md.tmp.21194.1777443383125", + "01 Library/02 DevOps/Kubernetes/Data Plane - Плоскость данных.md", + "01 Library/02 DevOps/Kubernetes/Control Plane - Плоскость управления.md.tmp.21194.1777443376603", + "01 Library/02 DevOps/Kubernetes/Control Plane - Плоскость управления.md", + "00 Inbox/Алгоритм консенсуса raft.md", "00 Inbox/Control Plane - Плоскость управления.md", + "01 Library/02 DevOps/Kubernetes/ReplicaSet.md", "99 System/Cache/Pasted image 20260429090930.png", "99 System/Cache/Pasted image 20260429090816.png", "99 System/Cache/Pasted image 20260429090719.png", @@ -290,7 +264,6 @@ "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", @@ -314,16 +287,12 @@ "01 Library/11 Machine Learning/Метрические алгоритмы.md", "01 Library/10 Finance/Экономическая Безопасность/Экономическая безопасность - база.md", "01 Library/10 Finance/Экономическая Безопасность/Индикаторы экономической безопасность.md", - "01 Library/10 Finance/Бухгалтерский учет/Отчет о финансовых результатах.md", - "01 Library/10 Finance/Бухгалтерский учет/Бухгалтерский баланс.md", - "01 Library/11 Machine Learning/Нейронные сети.md", "01 Library/10 Finance/Экономическая Безопасность", "00 Inbox/Курсовая инфа.md.tmp.165293.1776760040061", "CLAUDE.md.tmp.114174.1776715992129", "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", - "01 Library/04 Networking/NAT.md.tmp.41192.1776715564998", - "01 Library/04 Networking/VPN.md.tmp.41192.1776715560642" + "01 Library/04 Networking/NAT.md.tmp.41192.1776715564998" ] } \ No newline at end of file diff --git a/00 Inbox/Control Plane - Плоскость управления.md b/01 Library/02 DevOps/Kubernetes/Control Plane - Плоскость управления.md similarity index 99% rename from 00 Inbox/Control Plane - Плоскость управления.md rename to 01 Library/02 DevOps/Kubernetes/Control Plane - Плоскость управления.md index 0338650..3a3bc63 100644 --- a/00 Inbox/Control Plane - Плоскость управления.md +++ b/01 Library/02 DevOps/Kubernetes/Control Plane - Плоскость управления.md @@ -1,5 +1,5 @@ --- -status: seed +status: processing type: concept tags: - devops diff --git a/00 Inbox/Data Plane - Плоскость данных.md b/01 Library/02 DevOps/Kubernetes/Data Plane - Плоскость данных.md similarity index 99% rename from 00 Inbox/Data Plane - Плоскость данных.md rename to 01 Library/02 DevOps/Kubernetes/Data Plane - Плоскость данных.md index a0c4b59..0e140d0 100644 --- a/00 Inbox/Data Plane - Плоскость данных.md +++ b/01 Library/02 DevOps/Kubernetes/Data Plane - Плоскость данных.md @@ -1,5 +1,5 @@ --- -status: seed +status: processing type: concept tags: - devops diff --git a/01 Library/02 DevOps/Kubernetes/Kubernetes.md b/01 Library/02 DevOps/Kubernetes/Kubernetes.md index f9be6b0..f29728e 100644 --- a/01 Library/02 DevOps/Kubernetes/Kubernetes.md +++ b/01 Library/02 DevOps/Kubernetes/Kubernetes.md @@ -1,53 +1,29 @@ --- status: stable -type: concept +type: moc tags: - devops - container created: 2026-02-13 -updated: 2026-04-28 +updated: 2026-04-29 title: Kubernetes --- # Kubernetes -K8s состоит из двух основных компонент: -1) **Control Plane** - плоскость управления -2) **Data Plane** - плоскость данных + +K8s — система оркестрации контейнеров. Кластер состоит из двух плоскостей: + +- **[[Control Plane - Плоскость управления]]** — master-узлы: etcd, kube-api-server, kube-scheduler, kube-controller-manager, cloud-controller-manager +- **[[Data Plane - Плоскость данных]]** — worker-узлы: kubelet, kube-proxy, CRI/CNI/CSI ![[Pasted image 20251220211253.png|600]] -## Компоненты Control Plane -1) etcd - open-source key-value хранилище, использующее алгоритм консенсуса raft для обеспечения надежного способа хранения данных. - В k8s используется для хранения конфигурации всего кластера. - -2) kube-api-server - основной компонент для взаимодействия с кластером и обязательный посредник между всем компонентами k8s в data и control plane - - используется REST API - - является точкой входа в кластер - - обязательный участник любого взаимодействия с компонентами кластера - - обеспечение разграничивания прав доступа к содержимому кластера (авторизация и аутентификация) - - stateless-компонент - - установка на каждую master-ноду - - выбор лидера происходит по алгоритму **[[Алгоритм выбора лидера Lease|lease]]** +## Альтернативные решения -3) kube-controller-manager - компонент, ответственный за работу контроллеров. - - связывает kube-controller и отвечает за их работу - - сборка мусора - - stateless - - на каждой master-ноде - - выбор лидера аналогично по алгоритму [[Алгоритм выбора лидера Lease|lease]] +- [[Docker Swarm]] +- [[Apache Mesos]] +- [[HashiCorp Nomad]] -Существующие kube-controllers: -- node-controller - поддержка связи с узлами кластера, инициализация перенаправления рабочих нагрузок с вышедший из строя узлов. -- replicaset-c. - инициализация процедуры создания и функционирования сущности [[ReplicaSet]] -- endpoint-c. -- token-c. -- account-c. +## Источники - - -Конспект от MA: [[Devops вводный 9 урок. Введение в Kubernetes. Компоненты control и Data plane.pdf]] - -Другие решения: -[[Docker Swarm]] -[[Apache Mesos]] -[[HashiCorp Nomad]] +[[Devops вводный 9 урок. Введение в Kubernetes. Компоненты control и Data plane.pdf]]