Files
K3S/docs/make-reference.md
Sergey Antropoff 404347b535 feat: добавить аддон yandex-dns-controller — управление DNS Yandex 360
CronJob (*/5 мин) reconcile ConfigMap → Yandex 360 DNS API.
Safe mode: управляет только записями с managed: true.
Никогда не удаляет неуправляемые записи (MX, DKIM, SPF и т.д.).

Удаление только при двух условиях одновременно:
  1. Запись была создана контроллером (есть в state ConfigMap)
  2. Запись полностью удалена из ConfigMap (не просто managed: false)

Переключение managed: true → false = release без удаления из DNS.

API: /directory/v1/org/{org_id}/domains/{domain}/dns
Fields: A→content, CNAME→target, TXT→text, MX→exchange+preference
2026-04-26 12:16:32 +03:00

165 lines
5.3 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 # Полный базовый стек
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
# Медиасервер и 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-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
```