带OpenShift的MCP-OcpSandbox部署
使用OcpSandbox(命名空间)模型在共享的预配置集群上部署MCP和OpenShift实验室的Ansible集合。
建筑
本实验室使用两个部署阶段:
群集资源调配(共享基础设施,每个群集运行一次)
剧本: tests/e2e/cluster-provision.yml
在新的OCP集群上部署共享基础设施。没有每个用户的资源。
| 步骤 | 角色/资源 | 它的作用 |
|---|---|---|
| 1 | agnosticd.core_workloads.ocp4_workload_authentication_keycloak | RHBK运营商+OAuth提供商 |
| 2 | agnosticd.core_workloads.ocp4_workload_gitea_operator | Gitea实例(仅限管理员,无用户) |
| 3 | agnosticd.core_workloads.ocp4_workload_pipelines | OpenShift管道(泰克顿) |
| 4 | agnosticd.core_workloads.ocp4_workload_openshift_gitops | ArgoCD(不允许每个用户访问) |
| 5 | agnosticd.ai_workloads.ocp4_workload_toolhive | ToolHive运算符 |
| 6 | 冲突 cluster-monitoring-config | 用户工作负载监控 |
| 7 | 订阅 cloudnative-pg | CloudNativePG运营商 |
用户配置(每个用户,在每个实验室订单上运行)
剧本: tests/e2e/provision.yml AgV目录: agd_v2/mcp-with-openshift-sandbox/common.yaml
通过以下方式部署每个用户的资源 config: namespace 图案。每个角色的 main.yml 发送至 workload.yml (规定)或 remove_workload.yml (销毁)基于 ACTION 变量。
供应订单(workloads):
| 步骤 | 角色 | 它的作用 |
|---|---|---|
| 1 | agnosticd.namespaced_workloads.ocp4_workload_ocpsandbox_keycloak_user | Kubeconfig+集群发现+Keycloak用户 |
| 2 | agnosticd.namespaced_workloads.ocp4_workload_ocpsandbox_gitea_user | Gitea用户+仓库迁移 |
| 3 | agnosticd.namespaced_workloads.ocp4_workload_ocpsandbox_argocd_user | ArgoCD应用程序项目 |
| 4 | rhpds.litellm_virtual_keys.ocp4_workload_litellm_virtual_keys | LLM API密钥 |
| 5 | rhpds.ocpsandbox_mcp_with_openshift.ocp4_workload_ocpsandbox_mcp_user | MCP服务器+LibreChat+代理 |
| 6 | agnosticd.showroom.ocp4_workload_showroom_ocp_integration | 控制台链接 |
| 7 | agnosticd.showroom.ocp4_workload_showroom | 展厅实验室内容 |
销毁订单(remove_workloads): 与上述相反——先是展厅,最后是钥匙斗篷用户。
此集合中的角色
| 角色 | 范围 |
|---|---|
ocp4_workload_ocpsandbox_mcp_user | 用户配置。 单用户MCP部署:SCC+5 ArgoCD应用程序集(MCP-openshift、MCP-gitea、librechat配置、librecht、代理)。销毁时进行全面清理。 |
相关转载
| 回购 | 目的 |
|---|---|
| 带openshift gitops的ocpsandbox mcp | ArgoCD部署的Helm charts(用户配置) |
命名空间_工作负载 (分支 namespace-mcp-with-openshift) | 通用沙盒角色:keycloke_user、gitea_user、argocd_user(用户配置) |
| lb1726 mcp展厅 | 展厅实验室内容 |
E2E测试
cd tests/e2e
# Set cluster credentials in cluster-provision.yml / provision.yml
# Then run:
./run.sh cluster-provision -v # Shared infra (run once)
./run.sh provision -v # Per-user resources
./run.sh destroy -v # Cleanup per-user resources