k8s #1
@@ -48,15 +48,15 @@ kind_clusters:
|
||||
# Документация: https://devops.org.ru
|
||||
# Ingress HTTP: http://localhost:8081
|
||||
# Ingress HTTPS: https://localhost:8443
|
||||
# Prometheus: http://localhost:30900
|
||||
# Grafana: http://localhost:30000 (admin/admin)
|
||||
# Kiali: http://localhost:32001
|
||||
# Prometheus: http://localhost:9090
|
||||
# Grafana: http://localhost:3000 (admin/admin)
|
||||
# Kiali: http://localhost:20001
|
||||
addon_ports:
|
||||
ingress_http: 8081
|
||||
ingress_https: 8443
|
||||
prometheus: 30900
|
||||
grafana: 30000
|
||||
kiali: 32001
|
||||
prometheus: 9090
|
||||
grafana: 3000
|
||||
kiali: 20001
|
||||
|
||||
hosts:
|
||||
# Стандартный набор - 2 хоста для базового тестирования (стабильные ОС)
|
||||
|
||||
@@ -142,27 +142,27 @@ def main():
|
||||
'protocol': 'TCP'
|
||||
})
|
||||
|
||||
# Prometheus порт - мапим NodePort на hostPort
|
||||
# Prometheus порт - пробрасываем изнутри кластера (9090) на внешний порт
|
||||
if addon_ports.get('prometheus'):
|
||||
port_mappings.append({
|
||||
'containerPort': addon_ports['prometheus'],
|
||||
'hostPort': addon_ports['prometheus'],
|
||||
'containerPort': 9090, # Внутренний порт Prometheus
|
||||
'hostPort': addon_ports['prometheus'], # Внешний порт на хосте
|
||||
'protocol': 'TCP'
|
||||
})
|
||||
|
||||
# Grafana порт - мапим NodePort на hostPort
|
||||
# Grafana порт - пробрасываем изнутри кластера (3000) на внешний порт
|
||||
if addon_ports.get('grafana'):
|
||||
port_mappings.append({
|
||||
'containerPort': addon_ports['grafana'],
|
||||
'hostPort': addon_ports['grafana'],
|
||||
'containerPort': 3000, # Внутренний порт Grafana
|
||||
'hostPort': addon_ports['grafana'], # Внешний порт на хосте
|
||||
'protocol': 'TCP'
|
||||
})
|
||||
|
||||
# Kiali порт - мапим NodePort на hostPort
|
||||
# Kiali порт - пробрасываем изнутри кластера (20001) на внешний порт
|
||||
if addon_ports.get('kiali'):
|
||||
port_mappings.append({
|
||||
'containerPort': addon_ports['kiali'],
|
||||
'hostPort': addon_ports['kiali'],
|
||||
'containerPort': 20001, # Внутренний порт Kiali
|
||||
'hostPort': addon_ports['kiali'], # Внешний порт на хосте
|
||||
'protocol': 'TCP'
|
||||
})
|
||||
|
||||
@@ -257,29 +257,6 @@ def main():
|
||||
run_cmd(f"KUBECONFIG=/tmp/istio-kubeconfig-{name}.yaml helm upgrade --install monitoring prometheus-community/kube-prometheus-stack --namespace monitoring --set grafana.adminPassword=admin --set grafana.defaultDashboardsTimezone=browser --wait --timeout 600s")
|
||||
run_cmd(f"kubectl --server=https://{name}-control-plane:6443 --insecure-skip-tls-verify -n monitoring rollout status deploy/monitoring-grafana --timeout=300s")
|
||||
|
||||
# Настраиваем NodePort для аддонов
|
||||
addon_ports = cluster.get('addon_ports', {})
|
||||
if addon_ports:
|
||||
print("\n🔌 Настройка NodePort для аддонов")
|
||||
|
||||
if 'prometheus' in addon_ports:
|
||||
port = addon_ports['prometheus']
|
||||
print(f" - Prometheus: {port}")
|
||||
patch_json = f'[{{"op": "replace", "path": "/spec/type", "value":"NodePort"}},{{"op": "replace", "path": "/spec/ports/0/nodePort", "value":{port}}}]'
|
||||
run_cmd(f"kubectl --server=https://{name}-control-plane:6443 --insecure-skip-tls-verify patch svc -n monitoring monitoring-kube-prom-prometheus --type='json' -p='{patch_json}'")
|
||||
|
||||
if 'grafana' in addon_ports:
|
||||
port = addon_ports['grafana']
|
||||
print(f" - Grafana: {port}")
|
||||
patch_json = f'[{{"op": "replace", "path": "/spec/type", "value":"NodePort"}},{{"op": "replace", "path": "/spec/ports/0/nodePort", "value":{port}}}]'
|
||||
run_cmd(f"kubectl --server=https://{name}-control-plane:6443 --insecure-skip-tls-verify patch svc -n monitoring monitoring-grafana --type='json' -p='{patch_json}'")
|
||||
|
||||
if 'kiali' in addon_ports:
|
||||
port = addon_ports['kiali']
|
||||
print(f" - Kiali: {port}")
|
||||
patch_json = f'[{{"op": "replace", "path": "/spec/type", "value":"NodePort"}},{{"op": "replace", "path": "/spec/ports/0/nodePort", "value":{port}}}]'
|
||||
run_cmd(f"kubectl --server=https://{name}-control-plane:6443 --insecure-skip-tls-verify patch svc -n istio-system kiali --type='json' -p='{patch_json}'")
|
||||
|
||||
print(f"✅ Кластер '{name}' готов!")
|
||||
|
||||
print("\n🎉 Все кластеры созданы!")
|
||||
|
||||
Reference in New Issue
Block a user