k8m
k8m — это легкая консоль управления Kubernetes на базе ИИ, разработанная для упрощения управления кластерами. Она построена на базе AMIS и использует kom в качестве клиента Kubernetes API. k8m имеет встроенную модель Qwen2.5-Coder-7B, поддерживает взаимодействие с моделью deepseek-ai/DeepSeek-R1-Distill-Qwen-7B, а также позволяет подключать ваши собственные приватные большие языковые модели (включая ollama).
Быстрый старт
Проект предоставляет онлайн-доступ через cnb: k8m
Сделайте fork этого проекта,
Нажмите кнопку 🛫 «Взлет» (起飞) в правом верхнем углу репозитория,
Выберите облачную IDE,
Перейдите в терминал,
Введите
cd letsfly/justforfun/k8m && docker-compose up -d && docker-compose ps,Перейдите к портам (справа на вкладке терминала),
Создайте перенаправление порта, введите 8888 и подтвердите,
Нажмите на сгенерированный адрес перенаправления, чтобы открыть страницу входа k8m,
Введите имя пользователя и пароль: k8m / k8m,
🛫

Документация
Подробные инструкции по настройке и использованию см. в документации.
Журнал изменений см. в CHANGELOG.md.
Основные характеристики
Минималистичный дизайн: все функции объединены в одном исполняемом файле, что упрощает развертывание и использование.
Простота использования: удобный пользовательский интерфейс и интуитивно понятные рабочие процессы делают управление Kubernetes проще. Поддерживает стандартные кластеры k8s, AWS EKS, k3s, kind, k0s и другие.
Высокая производительность: бэкенд написан на Golang, фронтенд основан на Baidu AMIS, что обеспечивает высокую эффективность использования ресурсов и быстрый отклик.
Интеграция с ИИ: на базе ChatGPT реализованы функции объяснения терминов, руководства по ресурсам, автоматический перевод атрибутов YAML, интерпретация информации Describe, ИИ-диагностика логов, рекомендации по выполнению команд. Также интегрирована функция k8s-gpt с поддержкой китайского языка для интеллектуальной поддержки управления k8s.
Плагины: функциональные возможности реализованы в виде плагинов, которые можно включать по мере необходимости, не расходуя ресурсы впустую.
Интеграция с MCP: визуальное управление MCP, реализация вызова инструментов большими моделями. Встроено 49 инструментов MCP для мультикластерного управления k8s, которые можно комбинировать для выполнения сотен операций. Может использоваться как MCP-сервер для другого ПО с поддержкой ИИ. Поддерживается подробное логирование каждого вызова MCP и работа с популярными сервисами mcp.so.
Управление правами MCP: права управления мультикластерами интегрированы с правами вызова ИИ-моделей. Кратко: кто использует ИИ, тот использует свои права для выполнения MCP. Безопасное использование без риска превышения полномочий.
Управление несколькими кластерами: автоматическое распознавание режима InCluster, автоматическое сканирование файлов конфигурации в той же директории после настройки пути к kubeconfig, регистрация и управление несколькими кластерами одновременно, поддержка проверки работоспособности и автоматического переподключения.
Управление правами доступа: поддержка авторизации пользователей и групп, возможность настройки прав на уровне кластера (только чтение, выполнение команд, администратор кластера). Поддержка черных и белых списков пространств имен (namespaces).
Поддержка новейших функций k8s: поддержка APIGateway, OpenKruise и других функций.
Управление файлами в Pod: дерево файлов в левой части консоли, контекстное меню для просмотра, редактирования, загрузки, скачивания и удаления файлов внутри Pod.
Управление выполнением Pod: просмотр логов в реальном времени, скачивание логов, выполнение команд Shell внутри Pod. Поддержка поиска через Ctrl+F (аналог grep -A -B с подсветкой).
Открытый API: поддержка создания API KEY для доступа из сторонних систем, страница управления интерфейсами Swagger.
Инспекция кластеров: поддержка регулярных проверок нескольких кластеров, пользовательские правила проверки, поддержка правил на скриптах Lua. Отправка уведомлений в DingTalk, WeChat, Feishu и через пользовательские вебхуки. Поддержка ИИ-резюме.
Пересылка событий k8s: поддержка пересылки событий k8s из нескольких кластеров в вебхуки с фильтрацией по кластеру, ключевым словам, пространству имен, имени и т.д. Поддержка ИИ-резюме.
Управление CRD: автоматическое обнаружение и управление ресурсами CRD, древовидный список всех CRD.
Helm-маркет: поддержка добавления репозиториев Helm, установка, удаление и обновление приложений Helm в один клик, поддержка автоматического обновления.
Кроссплатформенность: совместимость с Linux, macOS и Windows, поддержка архитектур x86, ARM и других.
Поддержка баз данных: поддержка SQLite, MySQL, PostgreSQL и других.
Полностью открытый исходный код: без ограничений, возможность настройки и расширения, коммерческое использование разрешено.
Философия дизайна k8m — «ИИ-ориентированность, легкость, эффективность, упрощение сложного». Он помогает разработчикам и DevOps-инженерам быстро освоиться и легко управлять кластерами Kubernetes.
Запуск
Скачивание: скачайте последнюю версию с GitHub release.
Запуск: используйте команду
./k8mдля запуска, перейдите по адресу http://127.0.0.1:3618.Имя пользователя и пароль:
Имя пользователя:
k8mПароль:
k8mПожалуйста, измените имя пользователя и пароль после запуска и включите двухфакторную аутентификацию.
Параметры:
Usage of ./k8m:
--enable-temp-admin 是否启用临时管理员账户配置,默认关闭
--admin-password string 管理员密码,启用临时管理员账户配置后生效
--admin-username string 管理员用户名,启用临时管理员账户配置后生效
--print-config 是否打印配置信息 (default false)
--connect-cluster 启动集群是是否自动连接现有集群,默认关闭
-d, --debug 调试模式
--in-cluster 是否自动注册纳管宿主集群,默认启用
--jwt-token-secret string 登录后生成JWT token 使用的Secret (default "your-secret-key")
-c, --kubeconfig string kubeconfig文件路径 (default "/root/.kube/config")
--kubectl-shell-image string Kubectl Shell 镜像。默认为 bitnami/kubectl:latest,必须包含kubectl命令 (default "bitnami/kubectl:latest")
--log-v int klog的日志级别klog.V(2) (default 2)
--login-type string 登录方式,password, oauth, token等,default is password (default "password")
--image-pull-timeout Node Shell、Kubectl Shell 镜像拉取超时时间。默认为 30 秒
--node-shell-image string NodeShell 镜像。 默认为 alpine:latest,必须包含`nsenter`命令 (default "alpine:latest")
-p, --port int 监听端口 (default 3618)
-v, --v Level klog的日志级别 (default 2)Также можно запустить напрямую через docker-compose (рекомендуется):
services:
k8m:
container_name: k8m
image: registry.cn-hangzhou.aliyuncs.com/minik8m/k8m
restart: always
ports:
- "3618:3618"
environment:
TZ: Asia/Shanghai
volumes:
- ./data:/app/dataПосле запуска перейдите к порту 3618, пользователь по умолчанию: k8m, пароль по умолчанию: k8m.
Если вы хотите быстро протестировать в онлайн-среде, перейдите по ссылке: k8m
Related MCP server: Kubernetes Monitor
Запуск в контейнеризированном кластере k8s
Используйте KinD или MiniKube для установки небольшого кластера k8s.
Способ KinD
Создание кластера KinD Kubernetes
brew install kindСоздание нового кластера Kubernetes:
kind create cluster --name k8sgpt-demoРазвертывание k8m в кластере для тестирования
Скрипт установки
kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m.yamlДоступ: По умолчанию используется nodePort, пожалуйста, перейдите к порту 31999. Или настройте Ingress самостоятельно. http://NodePortIP:31999
Развертывание в продакшене с плагином выбора ведущего узла (Leader Election), примечания
Для одиночного экземпляра
не добавляйтеметкуk8m.io/role: leaderв определение service, иначе доступ будет невозможен.Для нескольких экземпляров
обязательно добавьтеметкуk8m.io/role: leaderв определение service, иначе переключение не будет работать.YAML для запуска нескольких экземпляров:
kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m-ms.yamlРуководство по настройке ChatGPT
Встроенный GPT
Начиная с версии v0.0.8, GPT встроен в систему, настройка не требуется. Если вам нужно использовать свой собственный GPT, пожалуйста, обратитесь к следующей документации.
Поддержка самохостинга/пользовательских больших моделей - как использовать свои модели.
Настройка Ollama - как настроить использование больших моделей Ollama.
Отладка состояния ChatGPT
Если после настройки параметров эффекта нет, попробуйте использовать ./k8m -v 6 для получения дополнительной отладочной информации.
Будет выведена следующая информация; просмотрев логи, вы сможете подтвердить, включен ли ChatGPT.
Разработка и отладка
Если вы хотите заниматься локальной разработкой и отладкой, сначала выполните сборку фронтенда, чтобы автоматически создать каталог dist. Поскольку проект использует встраивание бинарных файлов, без фронтенда dist возникнет ошибка.
Шаг 1: Сборка фронтенда
cd ui
pnpm run buildСборка и отладка бэкенда
#下载依赖
go mod tidy
#运行
air
#或者
go run *.go
# 监听localhost:3618端口Горячая перезагрузка фронтенда
cd ui
pnpm run dev
#Vite服务会监听在localhost:3000端口
#Vite转发后端访问到3618端口Перейдите по адресу http://localhost:3000
ПОМОЩЬ И ПОДДЕРЖКА
Если у вас есть дополнительные вопросы или вам нужна помощь, пожалуйста, свяжитесь со мной!
Особая благодарность
zhaomingcheng01: предоставил множество высококачественных предложений, внеся выдающийся вклад в удобство использования k8m~
La0jin: предоставил онлайн-ресурсы и поддержку, значительно улучшив визуальное представление k8m.
eryajf: предоставил отличные GitHub Actions, добавив в k8m автоматизированные функции выпуска, сборки и публикации.
Размещенное развертывание
Размещенная версия доступна на Fronteir AI.
Свяжитесь со мной (группа Feishu)

Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/weibaohui/k8m'
If you have feedback or need assistance with the MCP directory API, please join our Discord server