feat: добавлено автоматическое обновление Ingress хостов во всех операциях
- Обновлен вызов скрипта: sudo scripts/manage_hosts.py вместо sudo python3 - Добавлено обновление хостов после: - make k8s manifest delete - make k8s manifest update - make k8s helm delete - Теперь хосты автоматически обновляются при любых изменениях Ingress - Применен тестовый манифест grafana-ingress
This commit is contained in:
		
							
								
								
									
										24
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1054,7 +1054,7 @@ k8s: | |||||||
| 			echo "🔌 Автоматическое создание port-forward..."; \ | 			echo "🔌 Автоматическое создание port-forward..."; \ | ||||||
| 			python3 scripts/portforward.py create || echo "⚠️  Не удалось создать port-forward автоматически"; \ | 			python3 scripts/portforward.py create || echo "⚠️  Не удалось создать port-forward автоматически"; \ | ||||||
| 			echo "📝 Добавление Ingress хостов в /etc/hosts..."; \ | 			echo "📝 Добавление Ingress хостов в /etc/hosts..."; \ | ||||||
| 			sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось добавить Ingress хосты (требуется sudo)"; \ | 			sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось добавить Ingress хосты (требуется sudo)"; \ | ||||||
| 			echo "💡 Для подключения используйте: make k8s kubeconfig"; \ | 			echo "💡 Для подключения используйте: make k8s kubeconfig"; \ | ||||||
| 			echo "💡 Для остановки используйте: make k8s stop";; \ | 			echo "💡 Для остановки используйте: make k8s stop";; \ | ||||||
| 		destroy) \ | 		destroy) \ | ||||||
| @@ -1065,7 +1065,7 @@ k8s: | |||||||
| 			echo "🔌 Очистка port-forward..."; \ | 			echo "🔌 Очистка port-forward..."; \ | ||||||
| 			python3 scripts/portforward.py clear || echo "⚠️  Не удалось очистить port-forward"; \ | 			python3 scripts/portforward.py clear || echo "⚠️  Не удалось очистить port-forward"; \ | ||||||
| 			echo "📝 Удаление Ingress хостов из /etc/hosts..."; \ | 			echo "📝 Удаление Ingress хостов из /etc/hosts..."; \ | ||||||
| 			sudo python3 scripts/manage_hosts.py remove 2>/dev/null || echo "⚠️  Не удалось удалить Ingress хосты (требуется sudo)"; \ | 			sudo scripts/manage_hosts.py remove 2>/dev/null || echo "⚠️  Не удалось удалить Ingress хосты (требуется sudo)"; \ | ||||||
| 			if docker ps | grep -q $$CONTAINER_NAME; then \ | 			if docker ps | grep -q $$CONTAINER_NAME; then \ | ||||||
| 				echo "🗑️  Удаление Kind кластеров..."; \ | 				echo "🗑️  Удаление Kind кластеров..."; \ | ||||||
| 				docker exec $$CONTAINER_NAME bash -c "kind delete clusters --all" 2>/dev/null || true; \ | 				docker exec $$CONTAINER_NAME bash -c "kind delete clusters --all" 2>/dev/null || true; \ | ||||||
| @@ -1186,7 +1186,7 @@ k8s: | |||||||
| 			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 "✅ Аддон установлен"; \ | 			echo "✅ Аддон установлен"; \ | ||||||
| 			echo "📝 Обновление Ingress хостов..."; \ | 			echo "📝 Обновление Ingress хостов..."; \ | ||||||
| 			sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | 			sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 		nodes) \ | 		nodes) \ | ||||||
| 			echo "🖥️  Просмотр узлов кластера..."; \ | 			echo "🖥️  Просмотр узлов кластера..."; \ | ||||||
| 			PRESET_ARG="$(word 3, $(MAKECMDGOALS))"; \ | 			PRESET_ARG="$(word 3, $(MAKECMDGOALS))"; \ | ||||||
| @@ -1240,13 +1240,17 @@ k8s: | |||||||
| 					echo "📥 Применение манифеста: $$MANIFEST_ARG"; \ | 					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 хостов..."; \ | 					echo "📝 Обновление Ingress хостов..."; \ | ||||||
| 					sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | 					sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 				delete) \ | 				delete) \ | ||||||
| 					echo "🗑️  Удаление ресурсов из манифеста: $$MANIFEST_ARG"; \ | 					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";; \ | 					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"; \ | ||||||
|  | 					echo "📝 Обновление Ingress хостов..."; \ | ||||||
|  | 					sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 				update) \ | 				update) \ | ||||||
| 					echo "🔄 Обновление манифеста: $$MANIFEST_ARG"; \ | 					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 --force";; \ | 					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 --force"; \ | ||||||
|  | 					echo "📝 Обновление Ingress хостов..."; \ | ||||||
|  | 					sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 				*) \ | 				*) \ | ||||||
| 					echo "❌ Неизвестная команда: $$MANIFEST_CMD"; \ | 					echo "❌ Неизвестная команда: $$MANIFEST_CMD"; \ | ||||||
| 					echo "💡 Доступные команды: apply, delete, update"; \ | 					echo "💡 Доступные команды: apply, delete, update"; \ | ||||||
| @@ -1280,7 +1284,7 @@ k8s: | |||||||
| 					echo "📦 Установка Helm чарта: $$CHART_ARG как $$RELEASE_ARG"; \ | 					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 хостов..."; \ | 					echo "📝 Обновление Ingress хостов..."; \ | ||||||
| 					sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | 					sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 				delete) \ | 				delete) \ | ||||||
| 					if [ -z "$$RELEASE_ARG" ]; then \ | 					if [ -z "$$RELEASE_ARG" ]; then \ | ||||||
| 						echo "❌ Ошибка: Укажите имя релиза"; \ | 						echo "❌ Ошибка: Укажите имя релиза"; \ | ||||||
| @@ -1288,7 +1292,9 @@ k8s: | |||||||
| 						exit 1; \ | 						exit 1; \ | ||||||
| 					fi; \ | 					fi; \ | ||||||
| 					echo "🗑️  Удаление Helm релиза: $$RELEASE_ARG"; \ | 					echo "🗑️  Удаление Helm релиза: $$RELEASE_ARG"; \ | ||||||
| 					docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm uninstall $$RELEASE_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 uninstall $$RELEASE_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true"; \ | ||||||
|  | 					echo "📝 Обновление Ingress хостов..."; \ | ||||||
|  | 					sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 				update) \ | 				update) \ | ||||||
| 					if [ -z "$$RELEASE_ARG" ] || [ -z "$$CHART_ARG" ]; then \ | 					if [ -z "$$RELEASE_ARG" ] || [ -z "$$CHART_ARG" ]; then \ | ||||||
| 						echo "❌ Ошибка: Укажите имя релиза и чарт"; \ | 						echo "❌ Ошибка: Укажите имя релиза и чарт"; \ | ||||||
| @@ -1298,7 +1304,7 @@ k8s: | |||||||
| 					echo "🔄 Обновление Helm релиза: $$RELEASE_ARG"; \ | 					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 хостов..."; \ | 					echo "📝 Обновление Ingress хостов..."; \ | ||||||
| 					sudo python3 scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | 					sudo scripts/manage_hosts.py add 2>/dev/null || echo "⚠️  Не удалось обновить Ingress хосты (требуется sudo)";; \ | ||||||
| 				rollback) \ | 				rollback) \ | ||||||
| 					if [ -z "$$RELEASE_ARG" ]; then \ | 					if [ -z "$$RELEASE_ARG" ]; then \ | ||||||
| 						echo "❌ Ошибка: Укажите имя релиза"; \ | 						echo "❌ Ошибка: Укажите имя релиза"; \ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user