vault backup: 2026-04-29 15:31:12

This commit is contained in:
Dmitry
2026-04-29 15:31:12 +03:00
parent 4492ca133a
commit bc1a34e895
7 changed files with 114 additions and 173 deletions
+1 -1
View File
@@ -32,6 +32,6 @@
"repelStrength": 6.34095634095634,
"linkStrength": 0.504158004158004,
"linkDistance": 250,
"scale": 0.05488233943318438,
"scale": 0.30541165903188916,
"close": true
}
+10 -57
View File
@@ -21,54 +21,8 @@
"icon": "lucide-file",
"title": "Kubernetes"
}
},
{
"id": "089732df013c9481",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/Deployment и ReplicaSet.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Deployment и ReplicaSet"
}
},
{
"id": "801286aef81114cf",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/PV, PVC.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "PV, PVC"
}
},
{
"id": "adcb6e3e2a55e33f",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/Введение в сетевую безопасность.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Введение в сетевую безопасность"
}
}
],
"currentTab": 2
]
}
],
"direction": "vertical"
@@ -292,11 +246,16 @@
"obsidian-git:Open Git source control": false
}
},
"active": "801286aef81114cf",
"active": "9860cb6515fd025c",
"lastOpenFiles": [
"00 Inbox/Deployment и ReplicaSet.md",
"00 Inbox/PV, PVC.md",
"01 Library/02 DevOps/Kubernetes/Kubernetes.md",
"00 Inbox/PV, PVC.md",
"01 Library/02 DevOps/Kubernetes/Kubernetes.md.tmp.92756.1777465592821",
"01 Library/02 DevOps/Kubernetes/PV, PVC.md",
"01 Library/02 DevOps/Kubernetes/PV, PVC.md.tmp.92756.1777465584838",
"01 Library/02 DevOps/Kubernetes/Deployment и ReplicaSet.md",
"01 Library/02 DevOps/Kubernetes/Deployment и ReplicaSet.md.tmp.92756.1777465578185",
"00 Inbox/Deployment и ReplicaSet.md",
"00 Inbox/Введение в сетевую безопасность.md",
"01 Library/02 DevOps/Kubernetes/Алгоритм выбора лидера Lease.md",
"01 Library/02 DevOps/Kubernetes/Алгоритм консенсуса raft.md",
@@ -329,16 +288,10 @@
"01 Library/09 Sport/Креатин.md",
"01 Library/09 Sport/План тренировок (FullBody + Upper-Lower).md",
"04 Tools/🛠️ Неоконченные заметки.md",
"02 Projects/Учеба/Домашки/Информация по курсовой. ИРФМ.md",
"01 Library/11 Machine Learning/Обратное распространение ошибки.md",
"03 Journal/2026/03 - March/31.03.26 - Tuesday.md",
"diary_Я (копия).csv",
"diary_Я.csv",
"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"
"CLAUDE.md.tmp.114174.1776715992129"
]
}
-74
View File
@@ -1,74 +0,0 @@
---
status: processing
type: concept
tags:
- devops
created: 2025-12-17
updated: 2026-04-29
title: Deployment и ReplicaSet
---
# Deployment и ReplicaSet
Среди многих kube-controllers, есть два важных контроллера, которые отвечают за развертывание приложений в k8s.
- Deployment-controller
- Replicaset-controller
## Deployment
**Deployment-controller** отвечает за работу с декларативным описанием приложения для его последующего развертывания и обновления.
Сущность, которой оперирует deployment-controller называется *Deployment*.
## ReplicaSet
Deployment в своей работе использует концепцию набора репликаций
**Replicaset** — сущность Kubernetes, отвечающая за поддержку стабильного набора репликаций приложения, работающих в один момент времени.
За работу с Replicaset отвечает *Replicaset*-controller.
Приложения в k8s представлены в виде объединений контейнеров (**pod**).
Набором репликаций объединений контейнеров (**pods**) управляет replicaset.
С набором репликаций (replicaset) работает deployment.
## Deployment controller
*Deployment-controller* способен самостоятельно создать Deployment на основе образа (Docker image), а может использовать готовое описание Deployment (Manifest) в формате `yaml` или `json`.
```sh
kubectl create deployment mariadb --image=mariadb:4.0
```
```sh
kubectl apply -f nginx-deployment-manifest.yaml
```
Deployment-controller через сущность Deployment работает только с объединением контейнеров (Pods) и наборами их репликаций (Replicasets).
Для связи *Pod* с другими *Pods* и внешним миром используется сущность **Service**.
*Pod* связывается с *Service* через *Endpoint* (обеспечением работы Endpoints занимается Endpoint-controller).
## Service
Создать Service можно выполнив *Expose* существующего *Deployment* или использовав готовое описание *Service* (Manifest) в формате `yaml` или `json`.
```bash
kubectl expose deployment mariadb --port=8080
```
```sh
kubectl apply -f nginx-service-manifest.yaml
```
## Deployment - replicaset
За счет связки *Deployment* - *replicaset*, в кластере Kubernetes гарантируется выполнение следующих операций.
- Обновление без downtime (**Rolling update**).
- Откат текущего обновления (**Rollback**).
- Просмотр истории обновлений (**Revision**).
- Откат приложения до конкретной ревизии (**Rollback to revision**).
- Скалирование и дескалирование приложения (**Scaling**).
-41
View File
@@ -1,41 +0,0 @@
---
status: seed
type: concept
tags: []
created: 2025-12-17
updated: 2026-04-29
title: PV, PVC
---
# PV, PVC
Для обеспечения работы с данными и выгрузки данных на персистентное хранение в Kubernetes используются сущности:
- PV (Persistent Volume).
- PVC (Persistent Volume Claim).
## Persistent Volume
**PV (Persistent Volume)** — сущность, используемая для непосредственного хранения данных, отражение в kubernetes фактического раздела на жестком диске.
- не зависит от namespace
С точки зрения кластера Kubernetes, PV является таким же ресурсом кластера, как Master и Worker node.
## Persistent Volume Claim
**PVC (Persistent Volume Claim)** — это запрос приложения, развернутого в Kubernetes, на подключение к PV для выгрузки данных на персистентное хранение.
- зависит от namespace
С помощью PVC можно управлять хранилищами приложения, развернутого в Kubernetes, посредством выделения и подключения к рабочим нагрузкам дисков с требуемыми характеристиками.
Выгрузка данных приложения на персистентное хранение осуществляется посредством подключения Pods к хранилищу (PV) через специальный запрос на хранилище (PVC).
> [!note] PV может быть создан:
>
> - Вручную (через применение Manifest).
> - Автоматически (с помощью Provisioning).
**Deployment** может содержать запись о необходимости использования персистентного хранилища (PVC).
**PVC** описывает требования к хранилищу (**PV**)
@@ -0,0 +1,57 @@
---
status: stable
type: concept
tags:
- devops
- kubernetes
- container
created: 2025-12-17
updated: 2026-04-29
title: Deployment и ReplicaSet
---
# Deployment и ReplicaSet
Два ключевых контроллера k8s, отвечающих за развёртывание приложений.
## Deployment
**Deployment-controller** управляет декларативным описанием приложения для его развёртывания и обновления.
Способен создать Deployment из образа или из готового манифеста:
```sh
kubectl create deployment mariadb --image=mariadb:4.0
kubectl apply -f nginx-deployment-manifest.yaml
```
Deployment работает только с **Pods** и **ReplicaSets**.
## ReplicaSet
**ReplicaSet** — сущность k8s, обеспечивающая поддержку стабильного набора реплик Pod в любой момент времени.
Приложение = Pod (объединение контейнеров). ReplicaSet управляет множеством таких Pod.
## Service
Для связи Pod с другими Pod и внешним миром используется **Service**.
Pod связывается с Service через **Endpoint** (управляет Endpoint-controller).
Создание Service:
```bash
kubectl expose deployment mariadb --port=8080
kubectl apply -f nginx-service-manifest.yaml
```
## Возможности связки Deployment + ReplicaSet
| Операция | Описание |
|---|---|
| Rolling update | Обновление без downtime |
| Rollback | Откат текущего обновления |
| Revision | Просмотр истории обновлений |
| Rollback to revision | Откат до конкретной ревизии |
| Scaling | Масштабирование приложения |
@@ -17,6 +17,15 @@ K8s — система оркестрации контейнеров. Класт
- **[[Data Plane - Плоскость данных]]** — worker-узлы: kubelet, kube-proxy, CRI/CNI/CSI
![[Pasted image 20260429091836.png]]
## Рабочие нагрузки
- [[Deployment и ReplicaSet]] — развёртывание, rolling update, rollback, scaling
## Хранение данных
- [[PV, PVC]] — персистентное хранилище: Persistent Volume и Persistent Volume Claim
## Альтернативные решения
@@ -0,0 +1,37 @@
---
status: stable
type: concept
tags:
- devops
- kubernetes
- storage
created: 2025-12-17
updated: 2026-04-29
title: PV, PVC
---
# PV, PVC
Сущности k8s для персистентного хранения данных.
## Persistent Volume (PV)
**PV** — отражение реального раздела на диске в терминах k8s. Такой же ресурс кластера, как Master или Worker node.
- Не зависит от namespace
- Создаётся вручную (Manifest) или автоматически (Provisioning)
## Persistent Volume Claim (PVC)
**PVC** — запрос приложения на подключение к PV.
- Зависит от namespace
- Описывает требования к хранилищу (размер, класс, режим доступа)
## Схема подключения
```
Pod → PVC → PV → физический диск
```
**Deployment** может содержать ссылку на PVC — тогда при развёртывании Pod автоматически получает доступ к нужному хранилищу.