You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OpenShift中创建SSL证书Secret并在Route中复用?

在OpenShift中用Secret管理Route的SSL证书

完全可以用Secret替代Route YAML里直接指定的.key和.cer文件,这是OpenShift官方推荐的证书管理方式,能显著降低大量证书的维护成本。

具体操作步骤:

  1. 创建TLS类型的Secret
    把你的证书密钥和证书文件导入为OpenShift的Secret,执行以下命令:

    oc create secret tls my-service-tls --key=./your-service.key --cert=./your-service.cer
    

    替换my-service-tls为你想要的Secret名称,./your-service.key和./your-service.cer为本地证书文件的实际路径。

  2. 修改Route配置引用Secret
    更新Route的YAML文件,移除原来直接填写的certificate和key字段内容,转而指定Secret的名称:

    apiVersion: route.openshift.io/v1
    kind: Route
    metadata:
      name: your-service-route
    spec:
      tls:
        termination: edge  # 根据实际场景选择终止策略:edge/passthrough/reencrypt
        insecureEdgeTerminationPolicy: Redirect
        secretName: my-service-tls  # 关联刚才创建的Secret
        certificate: ""  # 清空原证书内容
        key: ""          # 清空原密钥内容
      to:
        kind: Service
        name: your-service
    

    注意termination字段需根据你的SSL终止需求选择:

    • edge:在Route层终止SSL连接,后端服务处理HTTP流量
    • passthrough:SSL连接直接透传到后端服务,由后端处理加密
    • reencrypt:Route终止SSL后,重新加密与后端服务的连接
  3. 更新过期证书
    当证书需要更换时,只需更新对应的Secret即可,所有引用该Secret的Route会自动生效,无需逐个修改Route配置:

    oc create secret tls my-service-tls --key=./new-service.key --cert=./new-service.cer --dry-run=client -o yaml | oc replace -f -
    

额外优化

如果多个Route共用同一张证书(比如同域名下的服务),可以让所有相关Route都引用同一个Secret,这样证书更新时只需操作一次,进一步提升维护效率。

内容的提问来源于stack exchange,提问作者user804401

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:45:42