k8m
k8m es una herramienta de consola ligera Mini Kubernetes AI Dashboard impulsada por IA, diseñada para simplificar la gestión de clústeres. Está construida sobre AMIS y utiliza kom como cliente de la API de Kubernetes. k8m tiene integrado Qwen2.5-Coder-7B, admite capacidades de interacción con el modelo deepseek-ai/DeepSeek-R1-Distill-Qwen-7B y también permite conectar su propio modelo de lenguaje privado (incluyendo ollama).
Experiencia rápida
Este proyecto proporciona una dirección de acceso en línea cnb k8m
Después de hacer fork de este proyecto,
Haga clic en el botón 🛫 Despegar en la esquina superior derecha del repositorio,
Seleccione Cloud IDE,
Ingrese a la terminal
Ingrese cd
letsfly/justforfun/k8m && docker-compose up -d && docker-compose psIngrese al puerto (a la derecha de la pestaña de la terminal)
Cree un reenvío de puerto, ingrese 8888, confirme
Haga clic en la dirección de reenvío generada para abrir la página de inicio de sesión de k8m
Ingrese el nombre de usuario y la contraseña: k8m k8m.
🛫

Documentación
Para obtener instrucciones detalladas de configuración y uso, consulte la documentación.
Para el registro de cambios, consulte el registro de cambios.
Características principales
Diseño miniaturizado: todas las funciones están integradas en un único archivo ejecutable, lo que facilita la implementación y el uso.
Fácil de usar: interfaz de usuario amigable y flujo de trabajo intuitivo, lo que hace que la gestión de Kubernetes sea más sencilla. Admite tipos de clústeres como k8s estándar, aws eks, k3s, kind, k0s, etc.
Alto rendimiento: el backend está construido con Golang y el frontend se basa en Baidu AMIS, lo que garantiza una alta utilización de recursos y una respuesta rápida.
Integración impulsada por IA: basado en ChatGPT para implementar explicación de términos, guías de recursos, traducción automática de atributos YAML, interpretación de información Describe, diagnóstico de registros con IA, recomendación de comandos de ejecución, e integra la función k8s-gpt para proporcionar visualización en chino y soporte inteligente para la gestión de k8s.
Funcionalidad basada en plugins: las funciones características son modulares, se activan bajo demanda y no consumen recursos si no se utilizan.
Integración MCP: gestión visual de MCP, logrando que el modelo de lenguaje llame a herramientas. Incluye 49 herramientas MCP para múltiples clústeres de k8s, que se pueden combinar para realizar cientos de operaciones de clúster. Puede utilizarse como servidor MCP para otro software de modelos de lenguaje. Registra fácilmente cada llamada MCP. Admite servicios principales de mcp.so.
Permisos MCP integrados: los permisos de gestión de múltiples clústeres se integran con los permisos de llamada del modelo de lenguaje MCP. En resumen: quien usa el modelo de lenguaje, utiliza sus permisos para ejecutar MCP. Uso seguro, sin preocupaciones, evitando la extralimitación de operaciones.
Gestión de múltiples clústeres: identifica automáticamente el modo InCluster dentro del clúster, escanea automáticamente los archivos de configuración en el mismo directorio después de configurar la ruta kubeconfig, registra y gestiona múltiples clústeres simultáneamente, y admite detección de latidos y reconexión automática.
Gestión de permisos de múltiples clústeres: admite la autorización de usuarios y grupos de usuarios, se puede autorizar por clúster, incluyendo tres permisos: solo lectura de clúster, comando Exec y administrador de clúster. Después de autorizar a un grupo de usuarios, todos los usuarios del grupo obtienen la autorización correspondiente. Admite la configuración de listas blancas y negras de espacios de nombres.
Admite las últimas características de k8s: admite características como APIGateway, OpenKruise, etc.
Gestión de archivos de Pod: en el árbol de archivos a la izquierda de la interfaz de la consola, el menú contextual admite la navegación, edición, carga, descarga y eliminación de archivos dentro del Pod, simplificando las operaciones diarias.
Gestión de ejecución de Pod: admite la visualización de registros de Pod en tiempo real, la descarga de registros y la ejecución directa de comandos Shell dentro del Pod. Admite la búsqueda con Ctrl+F, similar a la búsqueda resaltada grep -A -B.
API abierta: admite la creación de API KEY, acceso externo de terceros y proporciona una página de gestión de interfaces swagger.
Soporte de inspección de clústeres: admite inspección programada de múltiples clústeres, reglas de inspección personalizadas y reglas de script lua. Admite el envío a grupos de DingTalk, grupos de WeChat, grupos de Lark y webhooks personalizados. Admite resumen por IA.
Reenvío de eventos de k8s: admite el reenvío de eventos de k8s de múltiples clústeres a webhooks, se puede filtrar por clúster, palabra clave, espacio de nombres, nombre, etc., para establecer múltiples canales de reenvío de monitoreo especializados. Admite resumen por IA.
Gestión de CRD: puede descubrir y gestionar automáticamente recursos CRD, enumerar todos los CRD en forma de árbol, mejorando la eficiencia del trabajo.
Mercado Helm: admite la adición libre de repositorios Helm, instalación, desinstalación y actualización de aplicaciones Helm con un solo clic, y admite actualizaciones automáticas.
Soporte multiplataforma: compatible con Linux, macOS y Windows, y admite varias arquitecturas como x86, ARM, etc., asegurando una ejecución fluida en múltiples plataformas.
Soporte para múltiples bases de datos: admite varias bases de datos como SQLite, MySql, PostgreSql, etc.
Código abierto: todo el código fuente está abierto, sin restricciones, se puede personalizar y ampliar libremente, y se puede utilizar comercialmente.
La filosofía de diseño de k8m es "impulsado por IA, ligero y eficiente, simplificando lo complejo", ayudando a los desarrolladores y al personal de operaciones a comenzar rápidamente y gestionar fácilmente los clústeres de Kubernetes.
Ejecución
Descarga: descargue la última versión desde GitHub release.
Ejecución: utilice el comando
./k8mpara iniciar, acceda a http://127.0.0.1:3618.Nombre de usuario y contraseña de inicio de sesión:
Nombre de usuario:
k8mContraseña:
k8mTenga en cuenta que debe cambiar el nombre de usuario y la contraseña después de la puesta en línea y habilitar la verificación en dos pasos.
Parámetros:
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)También puede iniciarlo directamente a través de docker-compose (recomendado):
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/dataDespués de iniciar, acceda al puerto 3618, usuario predeterminado: k8m, contraseña predeterminada k8m.
Si desea probarlo rápidamente a través de un entorno en línea, puede visitar: k8m
Related MCP server: Kubernetes Monitor
Ejecución en modo de clúster k8s contenedorizado
Utilice KinD o MiniKube para instalar un pequeño clúster de k8s.
Método KinD
Crear clúster de Kubernetes KinD
brew install kindCrear un nuevo clúster de Kubernetes:
kind create cluster --name k8sgpt-demoImplementar k8m en el clúster para probarlo
Script de instalación
kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m.yamlAcceso: Se utiliza nodePort de forma predeterminada para abrir, acceda al puerto 31999. O configure Ingress usted mismo http://NodePortIP:31999
Implementación en producción habilitando el plugin de elección principal/respaldo, precauciones
La definición del servicio para la ejecución de una sola instancia
no debe agregarla etiquetak8m.io/role: leader, si se agrega, no se puede acceder normalmente.La definición del servicio para la ejecución de múltiples instancias
debe agregarla etiquetak8m.io/role: leader, de lo contrario no cambiará.El yaml para la ejecución de múltiples instancias es el siguiente:
kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m-ms.yamlGuía de configuración de ChatGPT
GPT integrado
A partir de la versión v0.0.8, se integrará GPT, no se requiere configuración. Si necesita usar su propio GPT, consulte la siguiente documentación.
Soporte para modelos de lenguaje autohospedados/personalizados - Cómo usar modelos autohospedados
Configuración de Ollama - Cómo configurar el uso del modelo de lenguaje Ollama.
Depuración del estado de ChatGPT
Si después de configurar los parámetros, sigue sin tener efecto, intente usar ./k8m -v 6 para obtener más información de depuración.
Se mostrará la siguiente información, verifique los registros para confirmar si ChatGPT está habilitado.
Desarrollo y depuración
Si desea desarrollar y depurar localmente, primero realice una compilación del frontend local para generar automáticamente el directorio dist. Debido a que este proyecto utiliza incrustación binaria, sin el frontend dist, dará un error.
Paso 1: Compilar el frontend
cd ui
pnpm run buildCompilar y depurar el backend
#下载依赖
go mod tidy
#运行
air
#或者
go run *.go
# 监听localhost:3618端口Carga en caliente del frontend
cd ui
pnpm run dev
#Vite服务会监听在localhost:3000端口
#Vite转发后端访问到3618端口Acceda a http://localhost:3000
AYUDA Y SOPORTE
Si tiene más preguntas o necesita ayuda adicional, ¡no dude en ponerse en contacto conmigo!
Agradecimientos especiales
zhaomingcheng01: propuso muchas sugerencias de muy alta calidad, haciendo una contribución sobresaliente a la facilidad de uso de k8m~
La0jin: proporciona recursos en línea y mantenimiento, mejorando enormemente el efecto de visualización de k8m
eryajf: nos proporcionó acciones de github muy útiles, agregando funciones automatizadas de lanzamiento, compilación y publicación a k8m
Implementación alojada
Hay una implementación alojada disponible en Fronteir AI.
Contácteme Grupo de Lark

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