небольше фиксы
This commit is contained in:
90
Makefile
90
Makefile
@@ -48,8 +48,10 @@ DOCKER_RUN := docker run --rm -it \
|
||||
|
||||
.PHONY: help setup build rebuild \
|
||||
bootstrap k8s-user mdadm k3s-certs chrony \
|
||||
install install-k3s install-cni install-kubevip install-nfs install-ingress \
|
||||
install-cert-manager install-istio install-monitoring \
|
||||
install install-full install-k3s install-cni install-kubevip \
|
||||
addon-ingress-nginx addon-cert-manager addon-nfs-server addon-csi-nfs addon-nfs \
|
||||
addon-istio addon-prometheus-stack addon-metrics-server \
|
||||
addon-argocd addon-longhorn addon-kubernetes-dashboard \
|
||||
add-node remove-node \
|
||||
etcd-backup etcd-restore etcd-list-snapshots \
|
||||
upgrade uninstall health verify ping \
|
||||
@@ -216,10 +218,17 @@ k3s-certs: _check_env _check_image ## Установить systemd таймер
|
||||
$(DOCKER_RUN) ansible-playbook playbooks/k3s-certs.yml \
|
||||
$(if $(NODE),--limit $(NODE),)
|
||||
|
||||
install: _check_env _check_image ## Развернуть полный стек (K3S + kube-vip + NFS + ingress)
|
||||
@printf "$(CYAN)$(BOLD)Разворачиваю полный K3S стек...$(NC)\n"
|
||||
install: _check_env _check_image ## Развернуть core кластер (K3S + kube-vip + сертификаты)
|
||||
@printf "$(CYAN)$(BOLD)Разворачиваю K3S core кластер...$(NC)\n"
|
||||
$(DOCKER_RUN) install
|
||||
|
||||
install-full: _check_env _check_image ## Полный стек: core + NFS + ingress-nginx (install + addon-nfs + addon-ingress-nginx)
|
||||
@printf "$(CYAN)$(BOLD)Полный стек: core + NFS + ingress-nginx...$(NC)\n"
|
||||
$(DOCKER_RUN) install
|
||||
$(DOCKER_RUN) addon nfs-server
|
||||
$(DOCKER_RUN) addon csi-nfs
|
||||
$(DOCKER_RUN) addon ingress-nginx
|
||||
|
||||
install-k3s: _check_env _check_image ## Установить только K3S кластер
|
||||
@printf "$(CYAN)Устанавливаю K3S...$(NC)\n"
|
||||
$(DOCKER_RUN) install-k3s
|
||||
@@ -232,25 +241,72 @@ install-kubevip: _check_env _check_image ## Установить только ku
|
||||
@printf "$(CYAN)Устанавливаю kube-vip...$(NC)\n"
|
||||
$(DOCKER_RUN) install-kubevip
|
||||
|
||||
install-nfs: _check_env _check_image ## Установить NFS сервер + CSI Driver
|
||||
@printf "$(CYAN)Устанавливаю NFS + CSI...$(NC)\n"
|
||||
$(DOCKER_RUN) install-nfs
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# АДДОНЫ — дополнительные компоненты кластера (addons/<name>/playbook.yml)
|
||||
# Кастомизация: make addon-<name> ARGS="-e var=value"
|
||||
# Добавить новый аддон: создай addons/<name>/playbook.yml + addons/<name>/role/
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
install-ingress: _check_env _check_image ## Установить ingress-nginx
|
||||
# ── Сетевые и хранилище ───────────────────────────────────────────────────────
|
||||
addon-nfs-server: _check_env _check_image ## Установить NFS сервер (запускается на группе nfs_server)
|
||||
@printf "$(CYAN)Устанавливаю NFS сервер...$(NC)\n"
|
||||
$(DOCKER_RUN) addon nfs-server $(ARGS)
|
||||
|
||||
addon-csi-nfs: _check_env _check_image ## Установить CSI NFS Driver + StorageClass
|
||||
@printf "$(CYAN)Устанавливаю CSI NFS Driver...$(NC)\n"
|
||||
$(DOCKER_RUN) addon csi-nfs $(ARGS)
|
||||
|
||||
addon-nfs: _check_env _check_image ## Установить NFS сервер + CSI Driver (комплект)
|
||||
@printf "$(CYAN)$(BOLD)Устанавливаю NFS сервер + CSI Driver...$(NC)\n"
|
||||
$(DOCKER_RUN) addon nfs-server $(ARGS)
|
||||
$(DOCKER_RUN) addon csi-nfs $(ARGS)
|
||||
|
||||
addon-ingress-nginx: _check_env _check_image ## Установить ingress-nginx — Ingress controller
|
||||
@printf "$(CYAN)Устанавливаю ingress-nginx...$(NC)\n"
|
||||
$(DOCKER_RUN) install-ingress
|
||||
$(DOCKER_RUN) addon ingress-nginx $(ARGS)
|
||||
|
||||
install-cert-manager: _check_env _check_image ## Установить cert-manager + ClusterIssuer
|
||||
# ── TLS и безопасность ────────────────────────────────────────────────────────
|
||||
addon-cert-manager: _check_env _check_image ## Установить cert-manager — TLS сертификаты (Let's Encrypt / self-signed)
|
||||
@printf "$(CYAN)Устанавливаю cert-manager...$(NC)\n"
|
||||
$(DOCKER_RUN) ansible-playbook playbooks/site.yml --tags cert_manager -e cert_manager_enabled=true
|
||||
$(DOCKER_RUN) addon cert-manager $(ARGS)
|
||||
|
||||
install-istio: _check_env _check_image ## Установить Istio + Kiali (нужен istio_enabled: true в vars)
|
||||
@printf "$(CYAN)Устанавливаю Istio + Kiali...$(NC)\n"
|
||||
$(DOCKER_RUN) ansible-playbook playbooks/site.yml --tags istio -e istio_enabled=true
|
||||
|
||||
install-monitoring: _check_env _check_image ## Установить Prometheus + Grafana (нужен prometheus_stack_enabled: true)
|
||||
# ── Мониторинг ────────────────────────────────────────────────────────────────
|
||||
addon-prometheus-stack: _check_env _check_image ## Установить Prometheus + Grafana + Alertmanager
|
||||
@printf "$(CYAN)Устанавливаю kube-prometheus-stack...$(NC)\n"
|
||||
$(DOCKER_RUN) ansible-playbook playbooks/site.yml --tags monitoring -e prometheus_stack_enabled=true
|
||||
$(DOCKER_RUN) addon prometheus-stack $(ARGS)
|
||||
|
||||
addon-metrics-server: _check_env _check_image ## Установить metrics-server (kubectl top nodes/pods, HPA)
|
||||
@printf "$(CYAN)Устанавливаю metrics-server...$(NC)\n"
|
||||
$(DOCKER_RUN) addon metrics-server $(ARGS)
|
||||
|
||||
# ── Service Mesh ──────────────────────────────────────────────────────────────
|
||||
addon-istio: _check_env _check_image ## Установить Istio + Kiali (ARGS="-e kiali_enabled=true" для Kiali)
|
||||
@printf "$(CYAN)Устанавливаю Istio...$(NC)\n"
|
||||
$(DOCKER_RUN) addon istio $(ARGS)
|
||||
|
||||
# ── GitOps и прочее ───────────────────────────────────────────────────────────
|
||||
addon-argocd: _check_env _check_image ## Установить ArgoCD — GitOps CD (ARGS="-e argocd_ingress_enabled=true -e argocd_ingress_host=argocd.example.com")
|
||||
@printf "$(CYAN)Устанавливаю ArgoCD...$(NC)\n"
|
||||
$(DOCKER_RUN) addon argocd $(ARGS)
|
||||
|
||||
addon-longhorn: _check_env _check_image ## Установить Longhorn — distributed block storage (ARGS="-e longhorn_default_replica_count=1" для single-node)
|
||||
@printf "$(CYAN)Устанавливаю Longhorn...$(NC)\n"
|
||||
$(DOCKER_RUN) addon longhorn $(ARGS)
|
||||
|
||||
addon-kubernetes-dashboard: _check_env _check_image ## Установить Kubernetes Dashboard — веб UI кластера
|
||||
@printf "$(CYAN)Устанавливаю Kubernetes Dashboard...$(NC)\n"
|
||||
$(DOCKER_RUN) addon kubernetes-dashboard $(ARGS)
|
||||
|
||||
# Generic цель — любой аддон из addons/<name>/playbook.yml
|
||||
addon-%: _check_env _check_image
|
||||
@if [ ! -f "addons/$*/playbook.yml" ]; then \
|
||||
printf "$(RED)✗ Аддон '$*' не найден. Ожидается: addons/$*/playbook.yml$(NC)\n"; \
|
||||
printf "$(YELLOW) Доступные аддоны:$(NC) "; \
|
||||
ls addons/ 2>/dev/null | tr '\n' ' '; echo ""; \
|
||||
exit 1; \
|
||||
fi
|
||||
@printf "$(CYAN)Устанавливаю аддон $*...$(NC)\n"
|
||||
$(DOCKER_RUN) addon $* $(ARGS)
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# МАСШТАБИРОВАНИЕ КЛАСТЕРА
|
||||
|
||||
Reference in New Issue
Block a user