OpenShift 4.6修改分支后Route超时配置被重置,如何永久设置?
在OpenShift 4.6中永久保留Route超时配置的方法
你遇到的问题本质是通过UI修改分支后,Route资源被重新生成或覆盖,导致手动添加的注解丢失。以下是几种能永久保留超时配置的方案:
1. 将Route配置纳入应用部署清单
把包含超时注解的Route YAML文件直接放在代码仓库的指定目录(比如.openshift),这样每次通过分支更新触发部署时,会基于这份清单创建/更新Route,注解不会被重置。示例配置:
apiVersion: route.openshift.io/v1 kind: Route metadata: name: your-route-name annotations: haproxy.router.openshift.io/timeout: 5500ms spec: host: your-app-hostname to: kind: Service name: your-service-name # 根据实际需求配置TLS等其他参数 tls: termination: edge
2. 用OpenShift模板统一管理资源
创建包含Route、DeploymentConfig等应用相关资源的OpenShift模板,在模板里预先定义好超时注解。后续部署或更新应用时,都通过这个模板操作,确保Route的配置始终包含所需注解。
- 可以用
oc create template命令从本地YAML文件创建模板,也可以在OpenShift UI中导入模板后使用。
3. 规避UI操作触发的Route重建
如果UI修改分支的操作会自动重新生成Route,建议:
- 优先通过修改代码仓库中的部署清单来更新分支,同时保留Route的注解配置;
- 若必须通过UI修改,修改后手动重新添加超时注解(这是临时补救方案,不推荐作为长期手段)。
4. 借助GitOps同步配置
将所有集群资源(包括Route)的YAML文件托管到Git仓库,利用OpenShift 4.6支持的GitOps能力同步配置到集群。这种方式下,任何UI端的修改都会被Git仓库中的正确配置覆盖,确保超时注解永久生效。
内容的提问来源于stack exchange,提问作者Ron
相关产品推荐
相关产品推荐

