Token导航 LogoToken导航TokenDH.com
Gitops MCP logo
开发工具未说明官方级别未说明来源级核验

Gitops MCP

MCP Server

GitOps MCP是一个基于Kubernetes的部署管理工具,用于自动化管理和部署HTTP MCP服务器,适用于云原生环境中的基础设施即代码场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
基础设施即代码云原生ShellCursor自动化部署Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DataKnifeAI

提供方

DataKnifeAI

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

GitOps MCP-Kubernetes部署

备注:这个项目是用 光标 以及Composer模型,展示了Kubernetes基础设施作为代码的人工智能辅助开发。

此存储库包含专用于HTTP MCP服务器的Kubernetes部署清单 mcp-servers 命名空间。

存储库结构

gitops-mcp/
├── namespace.yaml                    # MCP servers namespace
├── kustomization.yaml                # Kustomize configuration
├── README.md                          # This file
├── .cursorrules                      # Cursor IDE instructions
├── .gitignore                         # Git ignore rules
├── docs/                              # Documentation
│   ├── MCP_SERVERS_REVIEW.md         # Server review and details
│   └── STRUCTURE.md                   # Repository structure guide
└── mcp-servers/                      # MCP server deployments
    ├── proxmox-ve-mcp/
    │   ├── deployment.yaml
    │   ├── service.yaml
    │   ├── configmap.yaml
    │   └── secret.yaml.example
    ├── unifi-network-mcp/
    │   ├── deployment.yaml
    │   ├── service.yaml
    │   ├── configmap.yaml
    │   └── secret.yaml.example
    ├── unifi-protect-mcp/
    │   ├── deployment.yaml
    │   ├── service.yaml
    │   ├── configmap.yaml
    │   └── secret.yaml.example
    └── high-command-mcp/
        ├── deployment.yaml
        ├── service.yaml
        ├── configmap.yaml
        └── secret.yaml.example

MCP服务器

已配置以下HTTP MCP服务器:

  1. proxmox ve mcp -Proxmox VE管理MCP服务器
  2. unifi网络mcp -UniFi网络管理MCP服务器
  3. unifi保护mcp -UniFi Protect管理MCP服务器
  4. 高级命令mcp -高级命令MCP服务器

有关每台服务器的详细信息,请参阅 docs/MCP_SERVERS_REVIEW.md.

先决条件

  1. Kubernetes集群访问
  2. kubectl 配置
  3. 港口登记处提供的集装箱图像:

- harbor.dataknife.net/library/proxmox-ve-mcp:latest - harbor.dataknife.net/library/unifi-network-mcp:latest - harbor.dataknife.net/library/unifi-protect-mcp:latest - harbor.dataknife.net/library/high-command-mcp:latest

  1. 具有拉取访问权限的港口注册表凭据

快速开始

使用Kustomize(推荐)

  1. 创建港口注册密码 (拉取图像时需要):
   # Create the Harbor registry secret in the mcp-servers namespace
   kubectl create secret docker-registry harbor-registry-secret \
     --docker-server=harbor.dataknife.net \
     --docker-username= \
     --docker-password= \
     --docker-email= \
     --namespace=mcp-servers

   # Verify the secret was created
   kubectl get secret harbor-registry-secret -n mcp-servers

替代:使用示例模板并手动应用:

   # Edit mcp-servers/harbor-registry-secret.yaml.example with your credentials
   # Then apply it
   kubectl apply -f mcp-servers/harbor-registry-secret.yaml
  1. 创建应用程序机密 (一次性设置):
   # Copy example secrets and fill in your values
   cp mcp-servers/proxmox-ve-mcp/secret.yaml.example mcp-servers/proxmox-ve-mcp/secret.yaml
   cp mcp-servers/unifi-network-mcp/secret.yaml.example mcp-servers/unifi-network-mcp/secret.yaml
   cp mcp-servers/unifi-protect-mcp/secret.yaml.example mcp-servers/unifi-protect-mcp/secret.yaml

   # Edit each secret.yaml file with your actual credentials
   # DO NOT commit these files to git!
  1. 更新kustomization.yaml 包括秘密:
   resources:
     # ... existing resources ...
     - mcp-servers/proxmox-ve-mcp/secret.yaml
     - mcp-servers/unifi-network-mcp/secret.yaml
     - mcp-servers/unifi-protect-mcp/secret.yaml
  1. 部署一切:
   kubectl apply -k .

使用单个文件

  1. 创建命名空间:
   kubectl apply -f namespace.yaml
  1. 创建港口注册密码 (拉取图像时需要):
   kubectl create secret docker-registry harbor-registry-secret \
     --docker-server=harbor.dataknife.net \
     --docker-username= \
     --docker-password= \
     --docker-email= \
     --namespace=mcp-servers
  1. 部署每个MCP服务器:
   # Proxmox VE MCP
   kubectl apply -f mcp-servers/proxmox-ve-mcp/configmap.yaml
   kubectl apply -f mcp-servers/proxmox-ve-mcp/secret.yaml  # After creating from example
   kubectl apply -f mcp-servers/proxmox-ve-mcp/deployment.yaml
   kubectl apply -f mcp-servers/proxmox-ve-mcp/service.yaml

   # Repeat for other MCP servers...

配置

命名空间

所有资源都部署到 mcp-servers 命名空间,它是自动创建的。

港口注册认证

所有部署都配置为使用Harbor注册表(harbor.dataknife.net)并且需要认证才能提取图像。这 harbor-registry-secret 必须在 mcp-servers 在部署之前使用命名空间。

创建港口注册密码:

kubectl create secret docker-registry harbor-registry-secret \
  --docker-server=harbor.dataknife.net \
  --docker-username= \
  --docker-password= \
  --docker-email= \
  --namespace=mcp-servers

备注:如果使用Harbor机器人帐户(建议用于CI/CD),请使用机器人帐户用户名和令牌。机器人帐户格式: robot$library+botname.

使用GitHub CLI和操作:

  1. 使用GitHub CLI设置机密:
   # Use the interactive setup script
   ./scripts/setup-harbor-secrets.sh

   # Or manually set secrets
   echo "robot\$library+ci-bot" | gh secret set HARBOR_USERNAME
   echo "your-token" | gh secret set HARBOR_PASSWORD
  1. 通过GitHub操作进行部署:运行工作流 .github/workflows/deploy-harbor-secret.yml 它将自动提取secrets并创建Kubernetes secret。

所有部署包括 imagePullSecrets 引用这个秘密。

环境变量

所有服务器都使用HTTP传输模式,并具有以下常见设置:

  • MCP_TRANSPORT=http
  • MCP_HTTP_ADDR=:8000
  • LOG_LEVEL (来自ConfigMap,默认值:“info”)

服务器特定配置

Proxmox VE MCP

  • 康福特地图: proxmox-ve-mcp-config

- LOG_LEVEL (默认值:“info”) - PROXMOX_SKIP_SSL_VERIFY (默认值:“false”)

  • 秘密: proxmox-ve-mcp-secrets

- PROXMOX_BASE_URL -Proxmox服务器URL - PROXMOX_API_USER -API用户 - PROXMOX_API_TOKEN_ID -API令牌ID - PROXMOX_API_TOKEN_SECRET -API令牌机密

UniFi网络MCP

  • 康福特地图: unifi-network-mcp-config

- LOG_LEVEL (默认值:“info”) - UNIFI_BASE_URL (默认值:“https://192.168.1.1") - UNIFI_SKIP_SSL_VERIFY (默认值:“false”)

  • 秘密: unifi-network-mcp-secrets

- UNIFI_API_KEY -API密钥

UniFi保护MCP

  • 康福特地图: unifi-protect-mcp-config

- LOG_LEVEL (默认值:“info”) - UNIFI_BASE_URL (默认值:“https://192.168.1.1") - UNIFI_SKIP_SSL_VERIFY (默认值:“false”)

  • 秘密: unifi-protect-mcp-secrets

- UNIFI_API_KEY -API密钥

UniFi管理器MCP

高级命令MCP

  • 康福特地图: high-command-mcp-config

- LOG_LEVEL (默认值:“info”) - MCP_WORKERS (默认值:“4”) - X_SUPER_CLIENT (默认:“hc.mcp服务器.cluster”) - X_SUPER_CONTACT (默认值:“ops@example.com")

健康检查

所有部署包括:

  • 存活探针:HTTP获取 /health 每30秒
  • 就绪探针:HTTP获取 /health 每10秒

资源限制

每个吊舱都有:

  • 请求::100米CPU,128米内存
  • 限制:500米CPU,512米内存

安全

所有部署都使用:

  • 非root用户(UID 1000)
  • 只读根文件系统
  • 能力下降
  • 无特权升级
  • 用于隔离的专用命名空间

高可用性

  • 每个部署2个副本
  • Pod反亲和性,在节点间传播Pod
  • 自动恢复的健康检查

服务端点

所有服务都在8000端口上公开 mcp-servers 命名空间:

  • proxmox-ve-mcp.mcp-servers.svc.cluster.local:8000
  • unifi-network-mcp.mcp-servers.svc.cluster.local:8000
  • unifi-protect-mcp.mcp-servers.svc.cluster.local:8000
  • high-command-mcp.mcp-servers.svc.cluster.local:8000

监控

检查部署状态:

# All MCP servers
kubectl get deployments -n mcp-servers
kubectl get pods -n mcp-servers -l component=mcp-server
kubectl get services -n mcp-servers -l component=mcp-server

# Specific server
kubectl get pods -n mcp-servers -l app=proxmox-ve-mcp

故障排除

查看日志:

# All pods in namespace
kubectl logs -n mcp-servers -l component=mcp-server

# Specific server
kubectl logs -n mcp-servers -l app=proxmox-ve-mcp

# Specific pod
kubectl logs -n mcp-servers 

描述资源:

kubectl describe pod -n mcp-servers 

kubectl describe deployment -n mcp-servers proxmox-ve-mcp

检查事件:

kubectl get events -n mcp-servers --sort-by='.lastTimestamp'

GitOps

此存储库专为GitOps工作流而设计。更新清单并通过GitOps工具(ArgoCD、Flux、Fleet等)应用更改。

车队兼容性

备注:The kustomization.yaml 文件已重命名为 .kustomization.yaml 以防止Rancher Fleet自动检测到它并试图使用Kustomize后渲染,这导致了部署失败。

Fleet将直接处理所有Kubernetes YAML清单,这是因为:

  • 所有清单都已指定命名空间和标签
  • 单个资源文件是自包含且有效的
  • Fleet可以直接应用Kubernetes清单,无需Kustomize

对于本地Kustomize用法,请临时重命名文件:

mv .kustomization.yaml kustomization.yaml
kubectl kustomize .
mv kustomization.yaml .kustomization.yaml

重要:从不承诺 secret.yaml 将文件保存到存储库。使用以下机密管理解决方案:

  • 密封的秘密
  • 外部秘密操作员
  • 金库
  • GitOps工具的秘密管理

文档

文件组织

每个MCP服务器都有自己的目录,其中包含:

  • deployment.yaml -部署清单
  • service.yaml -服务清单
  • configmap.yaml -非敏感配置
  • secret.yaml.example -机密模板(复制到 secret.yaml 并填写)

该组织使以下操作变得容易:

  • 独立管理各个服务器
  • 将更改应用于特定服务器
  • 一目了然地了解结构
  • 扩展到其他MCP服务器

有关更多详细信息,请参阅 docs/STRUCTURE.md.

发展

该项目使用Cursor IDE和Composer模型进行人工智能辅助开发。看 .cursorrules 针对特定项目的编码指南和模式。

目录标签

目录标签

基础设施即代码云原生ShellCursor自动化部署本地部署KubernetesGitOps

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP