5.7 KiB
5.7 KiB
Make команды
Полный справочник всех доступных make команд.
Настройка и сборка
make setup # Создать .env из шаблона
make build # Собрать Docker образ (~3-5 мин)
make rebuild # Пересобрать без кэша
make clean # Удалить Docker образ
make clean-all # Образ + kubeconfig + кэш Docker
Проверки
make ping # SSH до всех нод
make check # Dry-run без изменений
make lint # Проверить синтаксис плейбуков
Установка кластера
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
Аддоны
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
Управление нодами
make add-node NODE=worker04 # Добавить ноду в кластер
make remove-node NODE=worker04 # Безопасно удалить ноду
etcd резервное копирование
make etcd-backup # Создать снимок
make etcd-list-snapshots # Список снимков
make etcd-restore SNAPSHOT=k3s-etcd-XXX.db # Восстановить
Тестирование (Molecule)
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 сек)
Обновление и диагностика
make upgrade VERSION=v1.30.0+k3s1 # Обновить K3S
make health # Полная диагностика
make verify # Сводка стека
make shell # bash в ansible-контейнере
make uninstall # Удалить стек (с подтверждением)
Vault
make vault-create # Создать vault
make vault-edit # Редактировать
make vault-view # Просмотреть
make vault-encrypt-string STR="secret" NAME="name" # Зашифровать строку
Переменные командной строки
# Подробный вывод:
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
Теги деплоя
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