我是否需要target-http-proxy才能在GKE上使用Google托管的SSL证书设置HTTPS负载均衡器?

时间:2018-12-27 12:17:42

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

根据 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配置来实现?

  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管理的。

1 个答案:

答案 0 :(得分:0)

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

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

-域[DOMAIN] 有关更多详细信息,请参见附件的link

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