# 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- # Установить конкретный аддон # (см. 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- # Тест конкретного аддона (например 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 ```