Files
K3S/docs/make-reference.md
2026-04-27 08:40:08 +03:00

5.7 KiB
Raw Blame History

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