K8s MCP Server 是一个基于 Docker 的服务器,实现了 Anthropic 的模型上下文协议 (MCP),使 Claude 能够在安全的容器化环境中运行 Kubernetes 命令行工具 (kubectl, istioctl, helm, argocd)。
会话 1: 使用 k8s-mcp-server 和 Helm CLI 在 claude-demo 命名空间中部署 WordPress 应用程序,然后故意通过将 MariaDB StatefulSet 缩放至零来破坏它。
会话 2: 排查会话,我们使用 k8s-mcp-server 通过 kubectl 命令诊断损坏的 WordPress 站点,识别缺失数据库问题,并通过扩展 StatefulSet 并配置入口访问来修复它。
flowchart LR
A[用户] --> |询问 K8s 问题| B[Claude]
B --> |通过 MCP 发送命令| C[K8s MCP Server]
C --> |执行 kubectl, helm 等| D[Kubernetes 集群]
D --> |返回结果| C
C --> |返回格式化的结果| B
B --> |分析并解释| A
Claude 可以帮助用户:
在不到两分钟内让 Claude 帮助您管理 Kubernetes 集群:
创建或更新您的 Claude Desktop 配置文件:
$HOME/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json$HOME/.config/Claude/claude_desktop_config.json{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
重启 Claude Desktop
直接在 Claude Desktop 中使用 K8s 工具:
注意:Claude Desktop 将自动通过 MCP 服务器路由 K8s 命令,允许您在不离开 Claude 界面的情况下进行关于集群的自然对话。
云提供商:对于 AWS EKS、GKE 或 Azure AKS,您需要额外配置。请参阅 云提供商支持 指南。
kubectl, helm, istioctl 和 argocdjq, grep 和 sed连接后,您可以使用自然语言请求 Claude 帮助处理 Kubernetes 任务:
flowchart TB
subgraph "基本命令"
A1["显示默认命名空间中的所有 Pod"]
A2["获取所有命名空间中的所有服务"]
A3["显示 nginx Pod 的日志"]
end
subgraph "排查问题"
B1["为什么我的部署没有启动?"]
B2["描述失败的 Pod 并解释错误"]
B3["检查我的服务是否正确连接到 Pod"]
end
subgraph "部署与配置"
C1["部署 Nginx Helm 图表"]
C2["创建一个具有 3 个副本的 nginx:latest 部署"]
C3["为我的服务设置入口"]
end
subgraph "高级操作"
D1["检查我的 Istio 服务网格的状态"]
D2["设置 20% 流量到 v2 的金丝雀部署"]
D3["为我的仓库创建一个 ArgoCD 应用"]
end
Claude 可以理解您的意图,并根据您的请求运行适当的 kubectl, helm, istioctl 或 argocd 命令。然后它可以以简单的语言解释输出或帮助您排查问题。
配置 Claude Desktop 以优化您的 Kubernetes 工作流程:
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-e", "K8S_CONTEXT=production-cluster",
"-e", "K8S_NAMESPACE=my-application",
"-e", "K8S_MCP_TIMEOUT=600",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-v", "/Users/YOUR_USER_NAME/.aws:/home/appuser/.aws:ro",
"-e", "AWS_PROFILE=production",
"-e", "AWS_REGION=us-west-2",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-v", "/Users/YOUR_USER_NAME/.config/gcloud:/home/appuser/.config/gcloud:ro",
"-e", "CLOUDSDK_CORE_PROJECT=my-gcp-project",
"-e", "CLOUDSDK_COMPUTE_REGION=us-central1",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-v", "/Users/YOUR_USER_NAME/.azure:/home/appuser/.azure:ro",
"-e", "AZURE_SUBSCRIPTION=my-subscription-id",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-e", "K8S_MCP_SECURITY_MODE=permissive",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
有关详细的安全配置选项,请参阅 安全文档。
该项目采用 MIT 许可证 - 详情见 LICENSE 文件。