详细介绍
Kubernetes Manager 是一个基于 Model Context Protocol (MCP) 的 Kubernetes 集群管理工具,允许用户通过自然语言或命令行方式与 Kubernetes 集群进行交互。该工具支持资源管理、Helm 操作、日志查看、端口转发等功能,适用于需要快速操作和查询 Kubernetes 集群的开发者和运维人员。
核心功能
Kubernetes Manager 提供了多种核心功能,帮助用户高效管理 Kubernetes 集群:
- Kubernetes 集群连接:自动连接到当前 kubectl 配置的 Kubernetes 集群,无需额外配置。
- 资源管理:支持查看和管理 Pod、Service、Deployment 等 Kubernetes 资源。
- Helm 支持:集成 Helm v3,支持安装、升级和卸载 Helm 图表。
- 日志访问:可以获取 Pod、Deployment、Job 等资源的日志,便于调试和监控。
- 端口转发:支持将本地端口转发到 Pod 或 Service,方便调试服务。
安装方法
安装 Kubernetes Manager 需要 Node.js 环境,并通过 Git 克隆项目仓库进行本地安装。
git clone https://github.com/Flux159/mcp-server-kubernetes.git
cd mcp-server-kubernetes
bun install安装完成后,可以使用以下命令启动开发服务器:
bun run dev如果需要构建生产版本,可以运行:
bun run build使用方法
使用 Kubernetes Manager 需要配置好 kubectl 访问权限,并通过 MCP 客户端(如 Claude Desktop 或 mcp-chat)与服务器交互。
以下是几个常见的使用示例:
列出所有 Pod
获取 Pod 日志
创建部署在配置文件中添加以下内容以启用 MCP Kubernetes 服务器:
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["mcp-server-kubernetes"]
}
}
验证连接是否正常,可以运行以下命令:
kubectl get pods使用场景
Kubernetes Manager 适用于以下场景:
- 需要快速查询 Kubernetes 集群状态的开发者和运维人员。
- 希望通过自然语言界面与 Kubernetes 集群交互的用户。
- 需要集成 Helm 操作的场景,如部署和管理 Helm 图表。
- 需要调试 Kubernetes 应用,查看 Pod 日志或进行端口转发。
使用示例
以下是几个典型的使用案例:
- 查看集群状态:快速了解集群中运行的 Pod 和节点状态。
- 部署应用:通过 Helm 部署一个应用,例如安装 Nginx Ingress 控制器。
- 故障排查:查看问题 Pod 的日志,帮助定位问题。
例如,要获取名为 webapp-123 的 Pod 日志,可以发送如下指令:
获取 webapp-123 的 Pod 日志注意事项
使用 Kubernetes Manager 时需要注意以下事项:
- 必须预先配置好 kubectl 访问权限。
- 不支持集群认证管理。
- 部分高级功能需要熟悉 Kubernetes 概念。
Kubernetes Manager 通过 MCP 协议简化了 Kubernetes 操作,为开发者和运维人员提供了更高效的集群管理方式。