Skip to main content
Glama

weibaohui%2Fk8m | Trendshift

GitHub Repo Stars GitHub Repo Forks

License MIT Go Report Card GitHub Release GitHub Downloads (all assets, all releases) GitHub Repo Issues Trust Score zread Repobeats analytics image

English | 中文

k8m — это легкая консоль управления Kubernetes на базе ИИ, разработанная для упрощения управления кластерами. Она построена на базе AMIS и использует kom в качестве клиента Kubernetes API. k8m имеет встроенную модель Qwen2.5-Coder-7B, поддерживает взаимодействие с моделью deepseek-ai/DeepSeek-R1-Distill-Qwen-7B, а также позволяет подключать ваши собственные приватные большие языковые модели (включая ollama).

Быстрый старт

Проект предоставляет онлайн-доступ через cnb: k8m

  1. Сделайте fork этого проекта,

  2. Нажмите кнопку 🛫 «Взлет» (起飞) в правом верхнем углу репозитория,

  3. Выберите облачную IDE,

  4. Перейдите в терминал,

  5. Введите cd letsfly/justforfun/k8m && docker-compose up -d && docker-compose ps,

  6. Перейдите к портам (справа на вкладке терминала),

  7. Создайте перенаправление порта, введите 8888 и подтвердите,

  8. Нажмите на сгенерированный адрес перенаправления, чтобы открыть страницу входа k8m,

  9. Введите имя пользователя и пароль: k8m / k8m,

  10. 🛫

Документация

Основные характеристики

  • Минималистичный дизайн: все функции объединены в одном исполняемом файле, что упрощает развертывание и использование.

  • Простота использования: удобный пользовательский интерфейс и интуитивно понятные рабочие процессы делают управление 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.

Запуск

  1. Скачивание: скачайте последнюю версию с GitHub release.

  2. Запуск: используйте команду ./k8m для запуска, перейдите по адресу http://127.0.0.1:3618.

  3. Имя пользователя и пароль:

    • Имя пользователя: k8m

    • Пароль: k8m

    • Пожалуйста, измените имя пользователя и пароль после запуска и включите двухфакторную аутентификацию.

  4. Параметры:

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, пожалуйста, обратитесь к следующей документации.

Отладка состояния 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)

Изображение

-
security - not tested
A
license - permissive license
-
quality - not tested

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