README
🚀 项目文档
本项目主要用于搭建一个集成了Kubernetes、Argo CD、GitLab和Claude等服务的系统,通过配置文件对各服务进行参数设置,提供了多种运行和部署方式,同时定义了丰富的API接口,方便用户进行资源管理和分析等操作。
🚀 快速开始
快速运行
在项目根目录下,可使用以下命令快速启动服务:
cd kubernetes-claude-mcp
go run ./cmd/server/main.go
带调试日志运行
若需要查看调试日志,可使用以下命令:
LOG_LEVEL=debug go run ./cmd/server/main.go --config config.yaml
服务将启动并绑定到 config.yaml 中配置的地址(默认:8080)。
📦 安装指南
使用 Docker 构建与运行
1. 构建镜像
在项目根目录下执行以下命令构建 Docker 镜像:
cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .
2. 运行容器(第二套构建选项)
同样在项目根目录下,使用 Docker Compose 构建并启动容器:
cd kubernetes-claude-mcp
docker-compose build
docker-compose up -d
生产部署
项目包含一个 Helm 图表用于 Kubernetes 部署,具体步骤如下:
1. 切换到 Helm 图表目录
cd kubernetes-claude-mcp/deployments/helm
2. 使用 Helm 部署
更新 values.yaml 中的值并运行以下命令进行部署:
helm install claude-mcp .
若需要升级部署,可使用以下命令:
helm upgrade claude-mcp .
请确保在集群中正确挂载和安全配置密钥和配置映射。
📦 服务地址
服务的配置信息存储在 kubernetes-claude-mcp/config.yaml 文件中,具体内容如下:
server:
address: ":8080"
readTimeout: 30
writeTimeout: 60
auth:
apiKey: ""${API_KEY}""
kubernetes:
kubeconfig: ""
inCluster: false
defaultContext: ""
defaultNamespace: "default"
argocd:
url: "http://example.argocd.com"
authToken: ""
username: "${ARGOCD_USERNAME}"
password: "${ARGOCD_PASSWORD}"
insecure: true
gitlab:
url: "https://gitlab.com"
authToken: "${AUTH_TOKEN}"
apiVersion: "v4"
projectPath: ""${PROJECT_PATH}""
claude:
apiKey: "${API_KEY}"
baseURL: "https://api.anthropic.com"
modelID: "claude-3-haiku-20240307"
maxTokens: 4096
temperature: 0.7
💻 使用示例
本项目主要通过 API 接口与服务进行交互,以下是部分 API 接口的使用示例。
基本
健康检查
curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/health
Kubernetes
列出命名空间
curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/namespaces
列出资源
curl -H "X-API-Key: your_api_key" "http://localhost:8080/api/v1/resources/pods?namespace=default"
Argo CD
列出应用
curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/argocd/applications
Claude MCP 端点
分析资源
curl -X POST -H "X-API-Key: your_api_key" -H "Content-Type: application/json" -d '{"data": "your_data"}' http://localhost:8080/api/v1/mcp/resource
📚 详细文档
API 文档
以下是 MCP 服务器暴露的主要端点。所有请求均需要 X-API-Key 标头:
基本
- 健康检查
GET /api/v1/health
Kubernetes
- 列出命名空间
GET /api/v1/namespaces
- 列出资源
GET /api/v1/resources/{kind}?namespace={ns}
- 获取特定资源
GET /api/v1/resources/{kind}/{name}?namespace={ns}
- 获取资源事件
GET /api/v1/events?namespace={ns}&resource={kind}&name={name}
Argo CD
- 列出应用
GET /api/v1/argocd/applications
Claude MCP 端点
- 分析资源
POST /api/v1/mcp/resource
- 故障排除资源
POST /api/v1/mcp/troubleshoot
- 提交分析(GitLab)
POST /api/v1/mcp/commit
- 获取提交状态
GET /api/v1/mcp/commits/{cluster}
👥 贡献指南
提交代码
若您想为项目贡献代码,可按以下步骤操作:
git clone https://github.com/yourusername/kubernetes-claude-mcp.git
cd kubernetes-claude-mcp
# 修改代码
git add .
git commit -m "提交信息"
git push origin main
提交问题
请通过 Issues 提交问题。
👨💻 贡献者
- [你的名字] - 项目维护者
- 其他贡献者 - (可选)
📄 许可证
本项目遵循 LICENSE 文件中的许可协议。
感谢您的支持!
Scan to contact