# Kubernetes MCP 服务器项目介绍
## 项目特点
1. **完整的 Kubernetes 管理**:基于 Model Context Protocol (MCP) 的 Kubernetes 管理工具
2. **多资源管理**:支持管理 Pod、Deployment、Service 等 Kubernetes 资源
3. **实时日志查看**:实时查看和跟踪 Pod 日志
4. **动态扩缩容**:动态调整 Deployment 副本数量
5. **YAML 应用**:直接应用 YAML 配置到集群
6. **详细的资源描述**:详细查看资源状态和事件
7. **命名空间管理**:查看和管理命名空间
## 核心功能
### 集群信息管理
– **获取集群状态**:获取 Kubernetes 集群的整体状态
– **获取节点信息**:获取集群中所有节点的详细信息
### 资源管理
– **Pod 管理**:查看、创建、删除 Pod
– **Deployment 管理**:查看、创建、更新、删除 Deployment
– **Service 管理**:查看、创建、删除 Service
### 日志管理
– **查看 Pod 日志**:实时查看 Pod 的日志输出
### 扩缩容管理
– **调整 Deployment 副本数**:动态调整 Deployment 的副本数量
### 配置管理
– **应用 YAML 配置**:直接应用 YAML 配置文件到集群
### 资源描述
– **查看资源状态**:查看资源的详细状态信息
– **查看资源事件**:查看资源的事件历史
### 命名空间管理
– **查看命名空间**:查看集群中的所有命名空间
– **管理命名空间**:创建、删除命名空间
## 技术架构
– **服务层**:基于 MCP 框架构建,提供标准化的操作接口
– **客户端层**:实现了 Kubernetes 客户端,处理与 Kubernetes 集群的通信
– **工具层**:注册了多个 MCP 工具,提供各种操作功能
– **配置层**:支持环境变量和配置文件的配置管理
## 部署方式
1. **前置要求**:安装 Go 1.23+、kubectl 和有效的 kubeconfig
2. **进入项目目录**:`cd mcp_k8s/src`
3. **安装依赖**:`go mod tidy`
4. **编译程序**:`go build -o ../bin/k8s-mcp-server .`
5. **配置环境**:复制 `../config/config.env.example` 到 `../config/config.env` 并根据实际环境修改配置
6. **运行服务**:`source ../config/config.env && ../bin/k8s-mcp-server`
## 目录结构
“`
mcp_k8s/
├── src/ # 源代码目录
│ ├── main.go # 主程序入口
│ ├── k8s_mcp.go # K8s MCP 服务器核心
│ ├── k8s_handlers.go # 工具处理函数
│ ├── k8s_register.go # 工具注册
│ ├── k8s_utils.go # 工具函数
│ ├── go.mod # Go 模块文件
│ └── go.sum # Go 依赖校验
├── config/ # 配置文件目录
├── bin/ # 编译输出目录
├── docs/ # 文档目录
├── service/ # 服务脚本目录
└── README.md # 项目说明
“`
## 总结
Kubernetes MCP 服务器是一个功能完整、架构清晰的 Kubernetes 管理工具,通过 MCP 协议提供了便捷的 Kubernetes 资源管理能力,适合作为 Kubernetes 集群的管理接口或与其他系统集成的桥梁。