详细介绍
Kubectl MCP Server 是一个基于 Model Context Protocol (MCP) 的 Kubernetes 交互工具,允许用户通过自然语言与 Kubernetes 集群进行交互,无需复杂的命令行操作。该工具集成了诊断、资源管理、安全性审计和监控等功能模块,适用于开发人员、运维人员和 AI 助手开发者,帮助他们高效管理 Kubernetes 集群。
核心功能
Kubectl MCP Server 提供了多种核心功能模块,涵盖 Kubernetes 集群的多个方面:
- 诊断模块:支持对 Kubernetes 集群进行健康检查和故障排查。
- 核心操作模块:提供如
get pods、describe nodes等基础的 kubectl 命令实现。 - 安全性模块:通过身份验证、授权和加密等功能,增强集群的安全性。
- 监控模块:集成监控工具,能实时跟踪 Kubernetes 资源的状态。
- 自然语言处理:用户可通过自然语言输入执行 Kubernetes 操作,例如
显示所有运行中的 pod。
安装方法
安装 Kubectl MCP Server 需要 Python 3.8+ 环境,并确保 Kubernetes CLI(kubectl)已正确配置。
git clone https://github.com/rohitg00/kubectl-mcp-server.gitcd kubectl-mcp-serverpip install -r requirements.txtpip install -e .此外,也可以通过 pip 安装:
pip install kubectl-mcp-tool使用方法
Kubectl MCP Server 提供了多种使用方式,包括基础命令和自然语言交互。
kubectl mcp "显示所有运行中的 pod"以下是一些常见的使用示例:
- 列出 Pod:列出默认命名空间中所有正在运行的 pod。
- 部署应用:创建一个名为
nginx-test的部署,使用nginx:latest镜像,并设置 3 个副本。 - 查看日志:获取名为
nginx-test的 pod 的日志输出。 - 端口转发:将本地的 8080 端口转发到 pod 的 80 端口。
kubectl mcp "创建一个名为 nginx-test 的部署,使用 nginx:latest 镜像,并设置 3 个副本"kubectl mcp "获取名为 nginx-test 的 pod 的日志"kubectl mcp "将本地的 8080 端口转发到 pod 的 80 端口"配置说明
在使用前,需要配置 Kubernetes 的 kubeconfig 文件路径,确保工具可以访问目标集群。
export KUBEC>启动 MCP 服务器的命令如下:
kubectl-mcp serve使用场景
Kubectl MCP Server 适用于多种 Kubernetes 管理场景,包括:
- 日常监控:通过自然语言指令快速获取集群状态。
- 部署管理:快速部署应用并查看部署状态。
- 日志分析:通过自然语言查询日志,便于排查问题。
- 安全审计:检查 RBAC 权限、网络策略和容器安全。
- AI 助手集成:与 AI 助手结合,实现自动化运维。
注意事项
使用 Kubectl MCP Server 时需注意以下事项:
- 需要提前安装 Python 3.8+ 环境及 kubectl CLI。
- 某些高级功能可能依赖于特定版本的 Kubernetes。
- 网络策略可能导致部分功能受限。
- 如果遇到 JSON 解析失败的问题,可检查 kubeconfig 文件是否正确配置,并尝试重启 MCP 服务。
项目结构
项目结构清晰,包含主程序包、测试套件、配置文件和脚本工具。
├── kubectl_mcp_tool/
│ ├── __init__.py
│ ├── cli.py
│ ├── mcp_server.py
│ ├── mcp_kubectl_tool.py
│ ├── natural_language.py
│ ├── diagnostics.py
│ ├── core/
│ ├── security/
│ ├── monitoring/
│ ├── utils/
│ └── cli/
├── python_tests/
│ ├── run_mcp_tests.py
│ ├── mcp_client_simulator.py
│ ├── test_utils.py
│ ├── test_mcp_core.py
│ ├── test_mcp_security.py
│ ├── test_mcp_monitoring.py
│ ├── test_mcp_natural_language.py
│ └── test_mcp_diagnostics.py
├── config/
│ ├── kubectl-mcp-config.yaml
│ └── example_usage.md
└── scripts/
├── install.sh
└── setup_helm.sh项目依赖
项目依赖如下:
- Python 版本:3.8+
- Kubernetes 版本:1.20+
自动配置
项目提供自动配置脚本,可一键完成 AI 助手的配置。
bash install.sh集成能力
Kubectl MCP Server 支持与多种 AI 助手集成,包括:
- Claude
- Cursor
总结
Kubectl MCP Server 通过自然语言处理和模块化设计,为 Kubernetes 提供了更高效、更直观的交互方式。无论是日常运维还是复杂部署,都能显著提升工作效率。