在OpenShift集群中配置OpenClaw Gateway需依次完成镜像流导入、创建项目、部署带健康探针的DeploymentConfig、暴露服务并创建含TLS终止与会话粘性注解的Route,最后验证/healthz端点返回200。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在OpenShift集群中为OpenClaw容器化应用配置Gateway,需确保API流量能经由OpenShift Router正确转发至后端服务,且满足OpenClaw对路径前缀、TLS终止及健康检查的硬性要求。
确认OpenClaw镜像已导入并可被引用
执行 oc get is -n openshift 查看默认命名空间中是否已有 openclaw 镜像流;若无,需先通过 oc import-image openclaw:latest --from=docker.io/yourrepo/openclaw:latest --confirm -n openshift 导入。
这一步不可跳过——【OpenClaw Gateway依赖镜像流名称与标签严格匹配】,否则后续部署会因找不到镜像而失败。
创建专用项目并部署OpenClaw DeploymentConfig
第一步:运行 oc new-project openclaw-gw 创建隔离命名空间。
第二步:使用以下命令部署带就绪探针的DeploymentConfig:
oc new-app --name=openclaw --docker-image=docker.io/yourrepo/openclaw:latest --env=GW_MODE=enabled -e PORT=8080 --as-deployment-config
第三步:编辑DC,将livenessProbe和readinessProbe路径设为 /healthz,超时设为5秒,否则Gateway无法判定Pod就绪状态,路由将拒绝转发流量。
暴露服务并绑定到Gateway
方法一:用oc expose生成Service + Route
运行 oc expose dc/openclaw --port=8080 --name=openclaw-svc 创建ClusterIP Service;再执行 oc expose svc/openclaw-svc --hostname=gw.openclaw.example.com --insecure-policy=Redirect 生成Route。
方法二:手动创建Route对象(推荐用于生产)
编写YAML文件,设置 spec.tls.termination: edge 并指定 spec.to.kind: Service 指向 openclaw-svc;关键点是必须添加 metadata.annotations["haproxy.router.openshift.io/cookie-name"]: "OPENCLAW_GW",否则会话粘性失效。
最后执行 oc create -f openclaw-route.yaml。
验证Gateway连通性
运行 oc get route openclaw-svc -o jsonpath='{.spec.host}' 获取域名。
用curl测试:curl -v https://gw.openclaw.example.com/healthz,应返回HTTP 200及JSON响应体 {"status":"ok"}。
若返回503或超时,检查Router Pod日志:oc logs -n openshift-ingress $(oc get pods -n openshift-ingress -l router=primary -o name),重点排查SSL证书链或backend权重异常。


















