feat: автоматическое обновление Ingress хостов при изменениях
- Добавлен вызов manage_hosts.py после: - make k8s manifest apply - make k8s addon - make k8s helm apply - make k8s helm update - Создан тестовый манифест grafana-ingress - Автоматическое обновление /etc/hosts при любых изменениях Ingress
This commit is contained in:
16
Makefile
16
Makefile
@@ -1184,7 +1184,9 @@ k8s:
|
||||
CLUSTER_NAME=$$(docker exec $$CONTAINER_NAME kind get clusters | head -1); \
|
||||
echo "📥 Установка аддона из $$MANIFEST_ARG..."; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify apply -f $$MANIFEST_ARG"; \
|
||||
echo "✅ Аддон установлен";; \
|
||||
echo "✅ Аддон установлен"; \
|
||||
echo "📝 Обновление Ingress хостов..."; \
|
||||
sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️ Не удалось обновить Ingress хосты (требуется sudo)";; \
|
||||
nodes) \
|
||||
echo "🖥️ Просмотр узлов кластера..."; \
|
||||
PRESET_ARG="$(word 3, $(MAKECMDGOALS))"; \
|
||||
@@ -1236,7 +1238,9 @@ k8s:
|
||||
case "$$MANIFEST_CMD" in \
|
||||
apply) \
|
||||
echo "📥 Применение манифеста: $$MANIFEST_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify apply -f $$MANIFEST_ARG";; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify apply -f $$MANIFEST_ARG"; \
|
||||
echo "📝 Обновление Ingress хостов..."; \
|
||||
sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️ Не удалось обновить Ingress хосты (требуется sudo)";; \
|
||||
delete) \
|
||||
echo "🗑️ Удаление ресурсов из манифеста: $$MANIFEST_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify delete -f $$MANIFEST_ARG";; \
|
||||
@@ -1274,7 +1278,9 @@ k8s:
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "📦 Установка Helm чарта: $$CHART_ARG как $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm upgrade --install $$RELEASE_ARG $$CHART_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm upgrade --install $$RELEASE_ARG $$CHART_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true"; \
|
||||
echo "📝 Обновление Ingress хостов..."; \
|
||||
sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️ Не удалось обновить Ingress хосты (требуется sudo)";; \
|
||||
delete) \
|
||||
if [ -z "$$RELEASE_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза"; \
|
||||
@@ -1290,7 +1296,9 @@ k8s:
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "🔄 Обновление Helm релиза: $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm upgrade $$RELEASE_ARG $$CHART_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm upgrade $$RELEASE_ARG $$CHART_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true"; \
|
||||
echo "📝 Обновление Ingress хостов..."; \
|
||||
sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️ Не удалось обновить Ingress хосты (требуется sudo)";; \
|
||||
rollback) \
|
||||
if [ -z "$$RELEASE_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза"; \
|
||||
|
||||
19
manifests/test-grafana-ingress.yaml
Normal file
19
manifests/test-grafana-ingress.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: grafana-ingress
|
||||
namespace: monitoring
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||
spec:
|
||||
rules:
|
||||
- host: grafana.local
|
||||
http:
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: monitoring-grafana
|
||||
port:
|
||||
number: 80
|
||||
Reference in New Issue
Block a user