169 lines
5.7 KiB
Markdown
169 lines
5.7 KiB
Markdown
# 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-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
|
||
|
||
# Лимитировать по хостам:
|
||
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
|
||
```
|