k8s #1

Merged
inecs merged 41 commits from k8s into main 2025-10-26 13:02:28 +03:00
Showing only changes of commit 604c7816be - Show all commits

View File

@@ -80,7 +80,7 @@ def clear_portforwards():
pass
def create_portforwards():
"""Создает port-forward для всех сервисов из preset"""
"""Создает port-forward для всех сервисов из preset на локальном компьютере"""
# Загружаем preset
preset_file = "molecule/presets/k8s/kubernetes.yml"
with open(preset_file, 'r') as f:
@@ -89,7 +89,29 @@ def create_portforwards():
cluster_name = preset['kind_clusters'][0]['name']
addon_ports = preset['kind_clusters'][0].get('addon_ports', {})
# Получаем kubeconfig из контейнера k8s-controller
print(f"🔌 Создание port-forward для кластера: {cluster_name}")
print("📋 Получение kubeconfig из контейнера k8s-controller...")
# Копируем kubeconfig из контейнера
result = subprocess.run(
f"docker exec k8s-controller kind get kubeconfig --name {cluster_name}",
shell=True, capture_output=True, text=True
)
if result.returncode != 0:
print(f"❌ Ошибка получения kubeconfig: {result.stderr}")
return
# Сохраняем kubeconfig во временный файл
kubeconfig_file = "/tmp/kubeconfig-lab.yaml"
with open(kubeconfig_file, 'w') as f:
f.write(result.stdout)
# Меняем server с 0.0.0.0 на localhost для локального доступа
subprocess.run(f"sed -i.bak 's|server: https://0.0.0.0:6443|server: https://localhost:6443|g' {kubeconfig_file}", shell=True)
print("✅ Kubeconfig подготовлен")
# Prometheus
if addon_ports.get('prometheus'):
@@ -97,8 +119,7 @@ def create_portforwards():
print(f" - Prometheus: localhost:{port} -> monitoring/monitoring-kube-prometheus-prometheus:9090")
subprocess.Popen([
"kubectl",
"--server=https://{}-control-plane:6443".format(cluster_name),
"--insecure-skip-tls-verify",
f"--kubeconfig={kubeconfig_file}",
"port-forward",
"-n", "monitoring",
"svc/monitoring-kube-prometheus-prometheus",
@@ -111,8 +132,7 @@ def create_portforwards():
print(f" - Grafana: localhost:{port} -> monitoring/monitoring-grafana:80")
subprocess.Popen([
"kubectl",
"--server=https://{}-control-plane:6443".format(cluster_name),
"--insecure-skip-tls-verify",
f"--kubeconfig={kubeconfig_file}",
"port-forward",
"-n", "monitoring",
"svc/monitoring-grafana",
@@ -125,8 +145,7 @@ def create_portforwards():
print(f" - Kiali: localhost:{port} -> istio-system/kiali:20001")
subprocess.Popen([
"kubectl",
"--server=https://{}-control-plane:6443".format(cluster_name),
"--insecure-skip-tls-verify",
f"--kubeconfig={kubeconfig_file}",
"port-forward",
"-n", "istio-system",
"svc/kiali",
@@ -139,8 +158,7 @@ def create_portforwards():
print(f" - Metrics Server: localhost:{port} -> kube-system/metrics-server:4443")
subprocess.Popen([
"kubectl",
"--server=https://{}-control-plane:6443".format(cluster_name),
"--insecure-skip-tls-verify",
f"--kubeconfig={kubeconfig_file}",
"port-forward",
"-n", "kube-system",
"svc/metrics-server",