Files
K3S/docs/make-reference.md
Sergey Antropoff 4eaf91e2d2 docs: руководство по своим аддонам и ссылки в README/Molecule/справочнике
- Добавлен docs/custom-addons.md: структура addons/<name>, playbook, group_vars,
  playbooks/addons.yml, Makefile, Molecule, чеклист и см. также.
- docs/addons.md, getting-started.md: отсылки на custom-addons.md.
- README.md: строка в таблице документации.
- docs/molecule-testing.md: уточнены molecule-prometheus/istio (тесты аддонов),
  разделы prometheus-stack/istio, ссылка на руководство в блоке про новые тесты.
- docs/make-reference.md: примечание к make addon-<name>.
2026-04-28 01:43:13 +03:00

165 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 # Core: K3S + kube-vip + cert rotation
make install-full # Core + аддоны из group_vars/all/addons.yml
make install-k3s # Только K3S кластер
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-addons # Только аддоны из addons.yml
make install-etcd # Внешний etcd (если k3s_etcd_type=external)
```
## Аддоны
```bash
make install-addons # Установить все включённые аддоны
make addon-<name> # Установить конкретный аддон
# (см. docs/custom-addons.md — как добавить свой)
# Примеры:
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
# Медиасервер и VPN:
make addon-mediaserver
make addon-mediaserver ARGS="-e mediaserver_hysteria2_enabled=false" # без Hysteria2
make addon-hysteria2-server # по SSH-ключу
make addon-hysteria2-server ARGS="-k" # ввод SSH-пароля интерактивно
make addon-splitgw # systemd на хосте
make addon-splitgw ARGS="-e splitgw_deploy_mode=k8s" # K8s DaemonSet
make addon-ingress-proxypass
make addon-ingress-proxypass ARGS="-e ingress_proxypass_vip=192.168.1.x"
make addon-ingress-add-domains
make addon-yandex-dns-controller
make addon-yandex-dns-controller ARGS="-e yandex_dns_controller_dry_run=true" # dry-run
```
## Управление нодами
```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-cluster # Тест topology: 3 master + 2 worker (~15-20 мин)
make molecule-addon-<name> # Тест конкретного аддона (например authelia)
make molecule-addon-all # Все addon Molecule тесты
make molecule-all # Все Molecule тесты + HTML отчёт
make molecule-report # Сгенерировать HTML отчёт из JUnit XML
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
```
## Теги деплоя
```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
```