Документация и kubectl из контейнера; Kind Clusters Dashboard

- Цель make docker|podman kubectl CLUSTER=… (KUBECTL_ARGS) — exec kubectl в kind-k8s-web
- README: без kubectl на хосте; раздел про проверку API из контейнера
- create_cluster/cluster_status: подсказки для UI, make kubectl и exec в контейнере
- app/docs: api_routes.md и README.md про kubectl и API workloads
- Прочее: переименование проекта, документация, UI документации (ранее в рабочем дереве)
This commit is contained in:
Sergey Antropoff
2026-04-04 06:27:18 +03:00
parent c1e867a01f
commit d1a01cca9e
17 changed files with 483 additions and 131 deletions
+11 -2
View File
@@ -104,7 +104,7 @@ def _print_cluster(name: str, *, kube_path_saved: Path | None) -> None:
use_path: str | None = None
if kube_path_saved and kube_path_saved.is_file():
use_path = str(kube_path_saved)
print(" Проверка API: kubectl с сохранённым kubeconfig (как на хосте после создания кластера).")
print(" Проверка API: kubectl с сохранённым kubeconfig (тот же файл, что пишет create / UI).")
tmp_kc: str | None = None
if not use_path:
@@ -148,7 +148,16 @@ def main() -> None:
)
sys.exit(127)
if not shutil.which("kubectl"):
print("Не найден kubectl.", file=sys.stderr)
print("Не найден kubectl в PATH.", file=sys.stderr)
print(
" Запустите скрипт внутри контейнера приложения (там kubectl в образе), например:",
file=sys.stderr,
)
print(
" docker compose exec kind-k8s-web python3 /opt/kind-k8s/app/cluster_status.py <имя>",
file=sys.stderr,
)
print(" Либо смотрите узлы в веб-интерфейсе; на хост kubectl не обязателен.", file=sys.stderr)
sys.exit(127)
names = _kind_cluster_names()