【问题标题】:Do I need a target-http-proxy for setting up HTTPS load balancer with Google managed SSL certificates on GKE?我是否需要 target-http-proxy 来在 GKE 上使用 Google 管理的 SSL 证书设置 HTTPS 负载平衡器?
【发布时间】:2026-02-11 02:45:01
【问题描述】:

根据Creating a Google-managed SSL certificate resource,我需要将 Google 管理的 SSL 证书与目标代理关联:

gcloud beta compute [target-https-proxies | target-ssl-proxies] update [NAME] \
    --ssl-certificates [SSL-CERTIFICATE-NAME]

是否需要通过上面的命令关联SSL证书,还是通过下面的.yml config也可以实现?

  7 apiVersion: extensions/v1beta1
  8 kind: Ingress
  9 metadata:
 10   name: my-staging-ingress
 11   annotations:
 12     kubernetes.io/ingress.global-static-ip-name: "my-staging-global"
 13     ingress.gcp.kubernetes.io/pre-shared-cert: "staging-google-managed-ssl"
 14     kubernetes.io/ingress.allow-http: "false"

如果上面的配置没有解决它,我应该将它创建为described here 吗? 看起来本指南假设一个人可以访问证书,但我没有,因为它是由 Google 管理的。

【问题讨论】:

    标签: ssl google-cloud-platform kubernetes-ingress google-kubernetes-engine


    【解决方案1】:

    您可以让 GKE 创建一个由 Google HTTPS 负载平衡器支持的入口控制器。执行此操作时,您在配置文件中指定入口的配置,GKE 会构建所有负载均衡器组件。 SSL 证书(和私钥)组合成一个称为 SSL 证书的配置对象。它链接到目标 HTTPS 代理。首先要做的是创建一个 Google 托管的证书对象。这部分与 Kubernetes 无关.命令是:

    $gcloud beta compute ssl-certificates create [SSL_CERTIFICATE_NAME]  \
    

    --域 [域] 详情见附件link

    这部分您所要做的就是创建证书对象。您没有将其分配给任何目标代理。现在,对于第二部分: 创建 GCP 证书对象后,您可以在创建 Kubernetes 入口时引用它。在 Kubernetes 术语中,这称为“使用预共享证书”。 预共享证书只是由现有 GCP SSL 证书对象支持的证书(无论 SSL 证书是 Google 管理的证书还是您通过上传自己的密钥和证书创建的证书)。详情请见附件link

    【讨论】: