article
README
🚀 K8s MCP Server 配置指南
K8s MCP Server 是一个用于简化 Kubernetes 操作的工具,它支持通过自然语言交互,执行 kubectl 命令、部署 Helm Chart、管理 Istio 服务网格和 ArgoCD 应用等功能。
🚀 快速开始
使用以下命令启动 K8s MCP Server:
docker run -i --rm ghcr.io/alexei-led/k8s-mcp-server:latest
通过自然语言与 MCP 服务器交互,例如:
flowchart TB
User->MCP_Server: "显示默认命名空间中的所有 pod"
MCP_Server->K8s_API: kubectl get pods -n default
K8s_API->MCP_Server: 返回 pod 列表
MCP_Server->User: 显示结果并进行解释
✨ 主要特性
K8s MCP Server 支持以下功能:
- kubectl 命令执行:通过自然语言理解 (NLU) 解析用户意图并执行相应的 kubectl 命令。
- Helm Chart 部署:自动解析 Helm 图表并生成部署命令。
- Istio 服务网格管理:支持 Istio 服务网格的配置和状态检查。
- ArgoCD 应用管理:集成 ArgoCD 进行应用交付和版本控制。
💻 使用示例
基本交互
查询集群信息
flowchart TB
subgraph "Basic Commands"
A1["显示默认命名空间中的所有 pod"]
A2["获取所有命名空间中的服务"]
A3["显示 nginx pod 的日志"]
end
故障排除
flowchart TB
subgraph "故障排查"
B1["为什么我的部署没有启动?"]
B2["描述失败的 pod 并解释错误原因"]
B3["检查我的服务是否正确连接到 pod"]
end
高级配置
指定目标集群和命名空间
在 config.json 中添加以下配置:
{
"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"
]
}
}
}
连接到 AWS EKS 集群
{
"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"
]
}
}
}
连接到 Azure Kubernetes Service (AKS)
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-v", "/Users/YOUR_USER_NAME/.kube:/home/appuser/.kube:ro",
"-e", "K8S_CONTEXT=aks-cluster",
"ghcr.io/alexei-led/k8s-mcp-server:latest"
]
}
}
}
启用日志记录
在 config.json 中添加以下内容以启用调试模式:
{
"logging": {
"level": "debug",
"file": "mcp_server.log"
}
}
🔒 安全注意事项
- 认证:通过 Kubernetes 服务账号或 IAM 角色进行身份验证。
- 授权:使用 RBAC 策略限制 MCP Server 的访问权限。
- 网络隔离:将 MCP Server 部署在受信任的网络环境中。
📄 许可证
本项目遵循 MIT 许可证,具体条款如下:
版权所有 (c) 2023, Alexei Ledovskoi
Permission is granted to use, modify and distribute this software under the MIT License.
📞 联系方式
- GitHub:alexei-ledovskoi/k8s-mcp-server
- 邮件:support@k8s-mcp-server.com
- 社区论坛:Discussions
微信扫一扫