Auto | arch-x1: 2026-06-03 21:34:10

This commit is contained in:
Dmitry
2026-06-03 21:34:10 +03:00
parent b0e229d980
commit 68ce894541
141 changed files with 1 additions and 10750 deletions
@@ -1,46 +0,0 @@
---
status: stable
type: concept
tags:
- devops
- containerization
created: 2026-02-13
updated: 2026-05-07
title: Apache Mesos
---
# Apache Mesos
- инструмент менеджмента кластерных решений по оркестрации контейнерных и не-контейнерных нагрузок.
Архитектура основана на трех составляющих:
![Picture background|200](Apache%20Mesos_mesos.png)
1. Узлы управления (master node)
2. Рабочие узлы (agent)
3. Фреймворки (framework)
Одновременно могут использоваться несколько фреймворки - именно они запускают рабочие нагрузки.
Фреймворки состоят из:
1. Планировщик фреймворка (scheduler)
2. Исполнитель фреймворка (executor)
Планировки устанавливается на всех узлах, а исполнитель выполняет задачи на рабочих узлах.
Master-узлы предоставляют ресурсы используемым фреймворкам, а Scheduler фреймворка выбирает, на каких ресурсах agent-узлов Executor будет выполнять рабочее задание.
Популярные фреймворки:
1. Marathon (оркестрация контейнерных нагрузок) 
2. Apache Aurora (оркестрация рабочих cron-заданий) - deprecated*
3. Mesosphere dc/os (операционная система на базе Apache mesos и Marathon. 
Имеется community и enterprise-версии. ) - deprecated
4. Mesosphere dc/os 2.0 (Kubernetes-совместимый фреймворк - nobest (не готово)
Другие решения:
[[Docker Swarm]]
[[Kubernetes]]
[[HashiCorp Nomad]]
@@ -1,59 +0,0 @@
---
status: stable
type: concept
tags:
- devops
- containerization
- docker
created: 2026-02-13
updated: 2026-05-07
title: Docker Swarm
---
# Docker Swarm
- встроенное в docker решение по обеспечению оркестрации контейнеров
- оркестрирует только контейнеры и причем только docker
- но весь прост в освоении
![Picture background|200](Docker%20Swarm_daf199465f470.jpg)
Архитектура делится на:
1. Узлы управления (master)
2. Рабочие узлы (worker)
Docker Swarm не поддерживает шаблонизацию
---
Swarm поддерживает следующие типы сетей:
- bridge
- overlay
- ingress (overlay с возможностью балансировки трафика)
В Swarm есть поддержка **service-discovering** (обнаружение сервисов)
Работа с персистентным хранением решается через Volumes.
Нет автоскейлинга (масштабирования)
Зато есть поддержка паттерна **rolling update** (постепенное обновление сервисов без downtime)
Docker Swarm хорошо интегрируется с инструментами мониторинга.
Существует встроенное хранилище секретами - docker secrets.
Есть mTLS
Сетевые политики (network policy) не поддерживаются.
Другие решения:
[[Apache Mesos]]
[[Kubernetes]]
[[HashiCorp Nomad]]
## Связанные заметки
- [[Сегментация сети]] — network policy в Swarm (не поддерживается нативно) решает ту же задачу изоляции трафика, что VLAN в физической сети
- [[CA и NGINX]] — встроенный mTLS между нодами Swarm использует ту же PKI-инфраструктуру, что и SSL-сертификаты в NGINX
@@ -1,51 +0,0 @@
---
status: stable
type: concept
tags:
- devops
- containerization
created: 2026-02-13
updated: 2026-05-07
title: HashiCorp Nomad
---
# HashiCorp Nomad
**nomad** - фреймворк для построения кластерных решений, поддерживает не только контейнерные нагрузки, но и не-контейнерные. Существуют платные и бесплатные версии продукта.
![Picture background|200](HashiCorp%20Nomad_nomad.svg)
Существует возможность установки расширений:
- consul (service-discovering)
- vault (secret management)
- prometheus, grafana, ELK (monitoring, logging, etc)
- и т.д.
Установка nomad проста, но с увеличением расширений _сложность администрирования возрастает_.
Архитектура представляет собой совокупность управляющих (server) и управляемых (clients) узлов.
В Nomad используется концепция "job-tasks", где task - это атомарная единица работы, выполняемая выполняемая тем или иным драйвером:
- docker 
- qemu
- java
- etc
---
Nomad не поддерживает использование шаблонизаторов.
Для работы с манифестами nomad использует проприетарный язык HCL с ограниченной возможностью двусторонней конвертации HCL в json и yml.
Nomad поддерживает использование CNI-плагинов, и имеется поддержка CSI (Container Storage Interface)
Nomad поддерживает горизонтальное и вертикальное скалирование:
1. Горизонтальное - создание новых инстансов для балансировки нагрузки.
2. Вертикальное - увеличение ресурсов у уже существующих инстансов.
3. Кластерное скалирование - увеличение рабочих и управляющих узлов.
Другие решения:
[[Docker Swarm]]
[[Kubernetes]]
[[Apache Mesos]]
@@ -1,42 +0,0 @@
---
status: stable
type: moc
tags:
- devops
- container
- kubernetes
created: 2026-02-13
updated: 2026-05-07
title: Kubernetes
---
# Kubernetes
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 20260429091836.png]]
## Рабочие нагрузки
- [[Deployment и ReplicaSet]] — развёртывание, rolling update, rollback, scaling
## Хранение данных
- [[PV, PVC]] — персистентное хранилище: Persistent Volume и Persistent Volume Claim
## Альтернативные решения
- [[Docker Swarm]]
- [[Apache Mesos]]
- [[HashiCorp Nomad]]
## Источники
[[Devops вводный 9 урок. Введение в Kubernetes. Компоненты control и Data plane.pdf]]
## Связанные заметки
- [[Шаблонизатор Helm]]
@@ -1,92 +0,0 @@
---
status: seed
type: guide
tags:
- devops
- kubernetes
- helm
created: 2025-12-17
updated: 2026-05-07
title: Шаблонизатор Helm
---
# Шаблонизатор Helm
**Helm** — менеджер пакетов и шаблонизатор для развёртывания приложений в [[Kubernetes]].
Helm помогает описывать, устанавливать, обновлять и удалять приложения через готовые или собственные Helm charts.
## Зачем нужен Helm
Helm позволяет:
- искать готовые charts;
- устанавливать приложения в Kubernetes;
- обновлять релизы;
- удалять приложения;
- переиспользовать шаблоны манифестов;
- параметризовать установку через values.
## Helm chart
**Helm chart** — пакет с шаблонами Kubernetes-манифестов, значениями по умолчанию и метаданными приложения.
Chart можно:
- найти в публичном chart-репозитории;
- создать самостоятельно под своё приложение.
## Базовый workflow
Добавить chart-репозиторий:
```sh
helm repo add bitnami https://charts.bitnami.com/bitnami
```
Обновить индекс репозиториев:
```sh
helm repo update
```
Найти chart:
```sh
helm search repo bitnami
```
Установить приложение:
```sh
helm install my-mysql bitnami/mysql
```
Посмотреть доступные параметры:
```sh
helm show values istio/base
```
Установить или обновить значения через `--set`:
```sh
helm install istiod istio/istiod --set requests.cpu=300m
```
Посмотреть установленные релизы:
```sh
helm list
```
Обновить релиз:
```sh
helm upgrade istiod istio/istiod --set requests.cpu=600m
```
## Связанные заметки
- [[Kubernetes]]
- [[DevOps - основы]]