diff --git a/README.md b/README.md index c5cf466..85506b5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Kind Clusters Dashboard — локальные кластеры Kubernetes (kind) -Образ **kind-k8s-tools:local** и **Makefile** поднимают **веб-интерфейс** (FastAPI) на порту **8080** на хосте по умолчанию (или **`KIND_K8S_WEB_PORT`** в `.env`; внутри контейнера приложение слушает **6000**). Порт **6000 на хосте** не используем по умолчанию: Chrome и другие браузеры на Chromium отдают **ERR_UNSAFE_PORT**. Через браузер создаёте и удаляете кластеры, смотрите статистику и вывод `kubectl`. **kubeconfig** сохраняется в `clusters/<имя>/`. На хосте достаточно **Docker** (или Podman) и **make**; **kind** и **kubectl** — внутри контейнера. +Проект сделан для тех, кому нужен **локальный Kubernetes без облака и без ручной возни в терминале**: **kind** остаётся движком, а поверх него — **единая панель в браузере** и **REST API**. В одном месте можно **создавать и удалять кластеры**, смотреть **узлы и поды**, ставить типовые вещи через **Helm** (ingress, мониторинг, metrics-server и др.), вести **журнал операций** и скачивать **kubeconfig** для работы с кластером с хоста или из других контейнеров. Удобно для **обучения DevOps/Kubernetes**, **быстрой проверки манифестов и Helm-чартов**, **демо** и **песочниц**, когда не хочется поднимать управляемый кластер и платить за API control plane. + +Технически панель — это **FastAPI** в Docker-образе **`kind-k8s-tools:local`**, запуск через **`Makefile`** и **Compose** (**Docker** или **Podman**). На хосте по умолчанию интерфейс открывается на порту **8080** (переменная **`KIND_K8S_WEB_PORT`** в **`.env`**); **внутри контейнера** приложение слушает **6000**. Порт **6000 наружу по умолчанию не пробрасываем**: в Chrome и других браузерах на Chromium он считается небезопасным (**ERR_UNSAFE_PORT**). **kind**, **kubectl** и **Helm** ставятся в образ — на машине достаточно контейнерной среды и **make**. Данные кластеров и **kubeconfig** лежат на хосте в **`clusters/<имя>/`**. ## Документация @@ -22,7 +24,7 @@ ## Зачем это нужно -- Быстро получить Kubernetes без облака (интеграционные тесты, манифесты, обучение). +- Быстро получить Kubernetes **локально** (интеграционные тесты, манифесты, обучение) — см. ввод о назначении проекта выше. - Версия кластера и число worker-нод задаются **в веб-UI** (или через REST API / скрипты в контейнере). - Количество кластеров **не ограничено** кодом (ограничения — ресурсы хоста и Docker). - Артефакты на хосте: `clusters/<имя>/` — том для `kubeconfig` (доступен в контейнере как `/work/clusters/<имя>/`).