本项目主要用于搭建一个集成了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 镜像:
cd kubernetes-claude-mcp
docker build -t claude-mcp-server -f Dockerfile .
同样在项目根目录下,使用 Docker Compose 构建并启动容器:
cd kubernetes-claude-mcp
docker-compose build
docker-compose up -d
项目包含一个 Helm 图表用于 Kubernetes 部署,具体步骤如下:
cd kubernetes-claude-mcp/deployments/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
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"
curl -H "X-API-Key: your_api_key" http://localhost:8080/api/v1/argocd/applications
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
以下是 MCP 服务器暴露的主要端点。所有请求均需要 X-API-Key 标头:
GET /api/v1/healthGET /api/v1/namespacesGET /api/v1/resources/{kind}?namespace={ns}GET /api/v1/resources/{kind}/{name}?namespace={ns}GET /api/v1/events?namespace={ns}&resource={kind}&name={name}GET /api/v1/argocd/applicationsPOST /api/v1/mcp/resourcePOST /api/v1/mcp/troubleshootPOST /api/v1/mcp/commitGET /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 文件中的许可协议。
感谢您的支持!