El piloto central para sus flotas Kubernetes ✈️✈️
k8s_pilot
es un servidor de plano de control ligero y centralizado para gestionar varios clústeres Kubernetes a la vez.
Con potentes herramientas y API intuitivas, puedes observar y controlar todos tus clústeres desde una sola cabina.
🚀 Descripción general
- 🔄 Admite el cambio de contexto de varios clústeres
- 🔧 Permite realizar operaciones CRUD en los recursos más comunes de Kubernetes
- 🔒 Modo de solo lectura para una inspección segura del clúster
- ⚙️ Powered by MCP para Claude AI y más allá
🧰 Requisitos previos
- Python 3.13 o superior
- gestor de paquetes
uv
- Acceso a los clústeres Kubernetes
(~/.kube/config
o in-cluster config)
# Instalar uv (si no está instalado) # Para MacOS brew install uv # Para Linux curl -LsSf https://astral.sh/uv/install.sh | sh
Instalación
# Clonar el repositorio git clone https://github.com/bourbonkk/k8s-pilot.git cd k8s-pilot # Lanzar con uv + MCP uv run --with mcp[cli] mcp run k8s_pilot.py
Uso
Modo normal (acceso completo)
# Iniciar con acceso completo de lectura/escritura uv run --with mcp[cli] mcp run k8s_pilot.py
Modo Sólo Lectura (Inspección Segura)
# Iniciar en modo sólo lectura - sólo se permiten operaciones de lectura uv run --with mcp[cli] python k8s_pilot.py --readonly
Opciones de la línea de comandos
# Mostrar ayuda uv run --with mcp[cli] python k8s_pilot.py --help
Modo de sólo lectura
El indicador --readonly
habilita un modo de seguridad que impide cualquier operación de escritura en sus clústeres Kubernetes. Esto es perfecto para:
- Inspección de clústeres sin riesgo de cambios accidentales
- Escenariosde auditoría en los que necesita ver pero no modificar
- Entornos de aprendizaje en los que desea explorar de forma segura
- Monitorización de producción con riesgo cero de modificaciones
Operaciones protegidas (bloqueadas en modo de sólo lectura)
pod_create
,pod_update
,pod_delete
deployment_create
,deployment_update
,deployment_delete
service_create
,service_update
,service_delete
configmap_create
,configmap_update
,configmap_delete
secret_create
,secret_update
,secret_delete
namespace_create
,namespace_delete
- Todas las demás operaciones de creación/actualización/eliminación
Operaciones permitidas (siempre disponibles)
pod_list
,pod_detail
,pod_logs
deployment_list, deployment_get
service_list
,service_get
configmap_list, configmap_get
secret_list
,secret_get
namespace_list
,namespace_get
- Todas las demás operaciones list/get
Uso con Claude Desktop
Utilice esta configuración para ejecutar el servidor MCP k8s_pilot desde Claude:
{ "mcpServers": { "k8s_pilot": { "command": "uv", "args": [ "--directory", "<path-to-cloned-repo>/k8s-pilot", "run", "--with", "mcp[cli]", "mcp", "run", "k8s_pilot.py" ] } }
Para el modo de sólo lectura, utilice esta configuración:
{ "mcpServers": { "k8s_pilot_readonly": { "command": "uv", "args": [ "--directory", "<path-to-cloned-repo>/k8s-pilot", "run", "--with", "mcp[cli]", "python", "k8s_pilot.py", "--readonly" ] } }
Reemplace con el directorio real donde clonó el repositorio.
Escenario
Crea un Deployment usando la imagen nginx:latest en el espacio de nombres pypy, y también crea un Servicio que se conecte a él
Características Clave
Gestión Multi-Cluster
- Interactúa sin problemas con múltiples clusters Kubernetes
- Realiza operaciones contextuales
- Cambie fácilmente entre clústeres a través de las indicaciones de MCP
Control de recursos
- Ver, crear, actualizar, eliminar
- Despliegues, servicios, pods
- ConfigMaps, Secrets, Ingresses
- StatefulSets, DaemonSets
- Roles, ClusterRoles
- Volúmenes persistentes y reclamaciones
Operaciones de espacios de nombres
- Crear/eliminar espacios de nombres
- Listar todos los recursos de un espacio de nombres
- Gestión de etiquetas y cuotas de recursos
Gestión de nodos
- Ver detalles y condiciones de los nodos
- Acordonar/desacordonar, etiquetar/manchar nodos
- Lista de pods por nodo
Licencia
Este proyecto tiene licencia MIT. Consulte el archivo LICENSE para más detalles.