k8s-pilot
k8s_pilot is a centralized control plane server designed to manage multiple Kubernetes clusters efficiently. It offers features like multi-cluster context switching, CRUD operations on Kubernetes resources, and enhanced management capabilities through MCP integration.
The Central Pilot for Your Kubernetes Fleets βοΈβοΈ
k8s_pilot
is a lightweight, centralized control plane server for managing multiple Kubernetes clusters at once.
With powerful tools and intuitive APIs, you can observe and control all your clusters from one cockpit.
π Overview
- π Supports multi-cluster context switching
- π§ Enables CRUD operations on most common Kubernetes resources
- βοΈ Powered by MCP for Claude AI and beyond
π§° Prerequisites
- Python 3.13 or higher
uv
package manager- Access to Kubernetes clusters (
~/.kube/config
or in-cluster config)
# Install uv (if not installed)
# For MacOS
brew install uv
# For Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Installation
# Clone the repository
git clone https://github.com/bourbonkk/k8s-pilot.git
cd k8s-pilot
# Launch with uv + MCP
uv run --with mcp[cli] mcp run k8s_pilot.py
Usage with Claude Desktop
Use this config to run k8s_pilot MCP server from within Claude:
{
"mcpServers": {
"k8s_pilot": {
"command": "uv",
"args": [
"--directory",
"<path-to-cloned-repo>/k8s-pilot",
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"k8s_pilot.py"
]
}
}
}
Replace
Scenario
Create a Deployment using the nginx:latest image in the pypy namespace, and also create a Service that connects to it.
Key Features
Multi-Cluster Management
- Seamlessly interact with multiple Kubernetes clusters
- Perform context-aware operations
- Easily switch between clusters via MCP prompts
Resource Control
- View, create, update, delete:
- Deployments, Services, Pods
- ConfigMaps, Secrets, Ingresses
- StatefulSets, DaemonSets
- Roles, ClusterRoles
- PersistentVolumes & Claims
Namespace Operations
- Create/delete namespaces
- List all resources in a namespace
- Manage labels and resource quotas
Node Management
- View node details and conditions
- Cordon/uncordon, label/taint nodes
- List pods per node
License
This project is licensed under the MIT License. See the file for details.