wip: попытка запускать port-forward через k8s-controller (требуется доработка)
This commit is contained in:
@@ -44,9 +44,17 @@ def get_port_mappings(ports):
|
|||||||
return port_list
|
return port_list
|
||||||
|
|
||||||
def start_container():
|
def start_container():
|
||||||
"""Запускает контейнер port-forward"""
|
"""Запускает контейнер port-forward через k8s-controller"""
|
||||||
print("🚀 Запуск контейнера k8s-portforward...")
|
print("🚀 Запуск контейнера k8s-portforward...")
|
||||||
|
|
||||||
|
# Проверяем, что k8s-controller запущен
|
||||||
|
result = subprocess.run(["docker", "ps", "--filter", "name=k8s-controller", "--format", "{{.Names}}"],
|
||||||
|
capture_output=True, text=True)
|
||||||
|
if "k8s-controller" not in result.stdout:
|
||||||
|
print("❌ Контейнер k8s-controller не запущен")
|
||||||
|
print("💡 Запустите: make k8s create kubernetes")
|
||||||
|
return
|
||||||
|
|
||||||
# Получаем порты из preset
|
# Получаем порты из preset
|
||||||
ports = get_ports_from_preset()
|
ports = get_ports_from_preset()
|
||||||
port_mappings = get_port_mappings(ports)
|
port_mappings = get_port_mappings(ports)
|
||||||
@@ -73,12 +81,10 @@ def start_container():
|
|||||||
|
|
||||||
print(f"📋 Команда: {' '.join(cmd)}")
|
print(f"📋 Команда: {' '.join(cmd)}")
|
||||||
|
|
||||||
# Удаляем старый контейнер если существует
|
# Выполняем команду через k8s-controller
|
||||||
subprocess.run(["docker", "rm", "-f", CONTAINER_NAME],
|
cmd_str = ' '.join(['"' + arg.replace('"', '\\"') + '"' for arg in cmd])
|
||||||
capture_output=True, stderr=subprocess.DEVNULL)
|
result = subprocess.run(["docker", "exec", "k8s-controller", "sh", "-c", cmd_str],
|
||||||
|
capture_output=True, text=True)
|
||||||
# Запускаем новый контейнер
|
|
||||||
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
||||||
|
|
||||||
if result.returncode == 0:
|
if result.returncode == 0:
|
||||||
print(f"✅ Контейнер {CONTAINER_NAME} запущен")
|
print(f"✅ Контейнер {CONTAINER_NAME} запущен")
|
||||||
@@ -94,8 +100,18 @@ def start_container():
|
|||||||
def stop_container():
|
def stop_container():
|
||||||
"""Останавливает контейнер port-forward"""
|
"""Останавливает контейнер port-forward"""
|
||||||
print("🛑 Остановка контейнера k8s-portforward...")
|
print("🛑 Остановка контейнера k8s-portforward...")
|
||||||
result = subprocess.run(["docker", "stop", CONTAINER_NAME],
|
|
||||||
|
# Проверяем, что k8s-controller запущен
|
||||||
|
result = subprocess.run(["docker", "ps", "--filter", "name=k8s-controller", "--format", "{{.Names}}"],
|
||||||
capture_output=True, text=True)
|
capture_output=True, text=True)
|
||||||
|
if "k8s-controller" not in result.stdout:
|
||||||
|
print("⚠️ Контейнер k8s-controller не запущен, пытаемся остановить локально...")
|
||||||
|
result = subprocess.run(["docker", "stop", CONTAINER_NAME],
|
||||||
|
capture_output=True, text=True)
|
||||||
|
else:
|
||||||
|
# Останавливаем через k8s-controller
|
||||||
|
result = subprocess.run(["docker", "exec", "k8s-controller", "docker", "stop", CONTAINER_NAME],
|
||||||
|
capture_output=True, text=True)
|
||||||
|
|
||||||
if result.returncode == 0:
|
if result.returncode == 0:
|
||||||
print(f"✅ Контейнер {CONTAINER_NAME} остановлен")
|
print(f"✅ Контейнер {CONTAINER_NAME} остановлен")
|
||||||
@@ -111,9 +127,21 @@ def restart_container():
|
|||||||
def status_container():
|
def status_container():
|
||||||
"""Показывает статус контейнера"""
|
"""Показывает статус контейнера"""
|
||||||
print("📊 Статус контейнера k8s-portforward:")
|
print("📊 Статус контейнера k8s-portforward:")
|
||||||
result = subprocess.run(["docker", "ps", "-a", "--filter", f"name={CONTAINER_NAME}",
|
|
||||||
"--format", "table {{.Names}}\t{{.Status}}\t{{.Ports}}"],
|
# Проверяем, что k8s-controller запущен
|
||||||
capture_output=True, text=True)
|
result = subprocess.run(["docker", "ps", "--filter", "name=k8s-controller", "--format", "{{.Names}}"],
|
||||||
|
capture_output=True, text=True)
|
||||||
|
if "k8s-controller" not in result.stdout:
|
||||||
|
print("⚠️ Контейнер k8s-controller не запущен, проверяем локально...")
|
||||||
|
result = subprocess.run(["docker", "ps", "-a", "--filter", f"name={CONTAINER_NAME}",
|
||||||
|
"--format", "table {{.Names}}\t{{.Status}}\t{{.Ports}}"],
|
||||||
|
capture_output=True, text=True)
|
||||||
|
else:
|
||||||
|
# Проверяем через k8s-controller
|
||||||
|
result = subprocess.run(["docker", "exec", "k8s-controller", "docker", "ps", "-a",
|
||||||
|
"--filter", f"name={CONTAINER_NAME}",
|
||||||
|
"--format", "table {{.Names}}\t{{.Status}}\t{{.Ports}}"],
|
||||||
|
capture_output=True, text=True)
|
||||||
|
|
||||||
if result.returncode == 0:
|
if result.returncode == 0:
|
||||||
print(result.stdout)
|
print(result.stdout)
|
||||||
|
|||||||
Reference in New Issue
Block a user