# 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- # Установить конкретный аддон # Примеры: 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 ```