docs: полная документация проекта — docs/ и README.md для каждого аддона

- README.md: перепиcан как компактный обзор (98 строк) с навигацией по docs/
- docs/: 13 файлов — getting-started, architecture, configuration, addons,
  storage, security, cicd, observability, networking, operations,
  make-reference, molecule-testing, troubleshooting
- addons/*/README.md: 31 новый файл — описание, параметры, примеры кода
  для каждого из 34 аддонов (vault и external-secrets уже существовали)
This commit is contained in:
Sergey Antropoff
2026-04-26 00:22:06 +03:00
parent 1080e6a792
commit eccc1c2a01
45 changed files with 5838 additions and 1670 deletions

146
docs/make-reference.md Normal file
View File

@@ -0,0 +1,146 @@
# Make команды
Полный справочник всех доступных `make` команд.
## Настройка и сборка
```bash
make setup # Создать .env из шаблона
make build # Собрать Docker образ (~3-5 мин)
make rebuild # Пересобрать без кэша
make clean # Удалить Docker образ
make clean-all # Образ + kubeconfig + кэш Docker
```
## Проверки
```bash
make ping # SSH до всех нод
make check # Dry-run без изменений
make lint # Проверить синтаксис плейбуков
```
## Установка кластера
```bash
make install # Полный базовый стек
make install-k3s # Только K3S HA кластер
make install-cni # CNI плагин
make install-cni K3S_CNI=calico # Calico
make install-cni K3S_CNI=cilium # Cilium
make install-kubevip # Только kube-vip
make install-nfs # NFS сервер + CSI
make install-ingress # ingress-nginx
make install-cert-manager # cert-manager + ClusterIssuer
make install-istio # Istio + Kiali
make install-monitoring # Prometheus + Grafana
```
## Аддоны
```bash
make install-addons # Установить все включённые аддоны
make addon-<name> # Установить конкретный аддон
# Примеры:
make addon-prometheus-stack
make addon-argocd
make addon-gitea
make addon-harbor
make addon-jenkins
make addon-loki
make addon-promtail
make addon-tempo
make addon-vault
make addon-external-secrets
make addon-minio
make addon-longhorn
make addon-postgresql
make addon-mysql
make addon-nextcloud
make addon-owncloud
make addon-vaultwarden
make addon-smtp-relay
make addon-crowdsec
make addon-velero
make addon-netbird
make addon-ingress-nginx
make addon-cert-manager
make addon-metrics-server
make addon-kubernetes-dashboard
```
## Управление нодами
```bash
make add-node NODE=worker04 # Добавить ноду в кластер
make remove-node NODE=worker04 # Безопасно удалить ноду
```
## etcd резервное копирование
```bash
make etcd-backup # Создать снимок
make etcd-list-snapshots # Список снимков
make etcd-restore SNAPSHOT=k3s-etcd-XXX.db # Восстановить
```
## Тестирование (Molecule)
```bash
make molecule-k3s # Тест роли k3s (~8-12 мин)
make molecule-prometheus # Тест роли prometheus-stack (~2-3 мин)
make molecule-istio # Тест роли istio (~2-3 мин)
make molecule-all # Все тесты (~15-20 мин)
make molecule-lint # Линтинг YAML + ansible-lint (~30 сек)
```
## Обновление и диагностика
```bash
make upgrade VERSION=v1.30.0+k3s1 # Обновить K3S
make health # Полная диагностика
make verify # Сводка стека
make shell # bash в ansible-контейнере
make uninstall # Удалить стек (с подтверждением)
```
## Vault
```bash
make vault-create # Создать vault
make vault-edit # Редактировать
make vault-view # Просмотреть
make vault-encrypt-string STR="secret" NAME="name" # Зашифровать строку
```
## Переменные командной строки
```bash
# Подробный вывод:
ANSIBLE_VERBOSITY=2 make install
ANSIBLE_VERBOSITY=4 make install # максимальный вывод
# Только конкретные теги:
ANSIBLE_TAGS=k3s make install
ANSIBLE_TAGS=kube_vip make install
ANSIBLE_TAGS=k3s,kube_vip make install
# Дополнительные переменные:
EXTRA_VARS="k3s_version=v1.30.0+k3s1" make install-k3s
EXTRA_VARS="prometheus_storage_size=20Gi" make addon-prometheus-stack
# Лимитировать по хостам:
ANSIBLE_LIMIT=master01 make install
```
## Теги деплоя
```bash
make install ANSIBLE_TAGS=k3s # только K3S
make install ANSIBLE_TAGS=kube_vip # только kube-vip
make install ANSIBLE_TAGS=nfs # NFS + CSI
make install ANSIBLE_TAGS=ingress # ingress-nginx
make install ANSIBLE_TAGS=istio # Istio + Kiali
make install ANSIBLE_TAGS=monitoring # Prometheus stack
```