为什么 google-managed SSL 证书要求域 DNS 指向静态 IP 地址而不是负载平衡器本身?

Why google-managed SSL certificate requires domain DNS to point to a static IP address instead of the load balancer itself?

我正在为我的 GKE 集群设置入口,一切正常,但我想我在这里遗漏了一些东西。
google教程说我们需要预留一个外部静态IP并在我们的域中添加A记录指向这个IP,然后在入口规则中定义IP和证书。
为什么我们不能将域指向负载均衡器 IP?

参考: https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs?hl=th

我认为我们在这里有一些误解。让我再解释一下。

您的问题没有说明您正在使用 nginx-ingress。除了确认它的标签外,没有任何其他东西。请使用您实际使用的控制器的信息更新您的问题。

这很重要,因为 gke-ingressnginx-ingress 是两种不同的资源。您引用的指南特定于 gke-ingress。此处使用的注释不适用于 nginx-ingress。如果您是按照指南一步步操作的,那么您使用的是 gke-ingress 而不是 nginx-ingress.

根据标题中的问题:

Why google-managed SSL certificate requires domain DNS to point to a static IP address instead of the load balancer itself?

提到的静态 IP 地址是保留资源,专门创建不会更改。

此 IP 地址将与 Ingress 资源一起用于您的 GKE 集群。 这将确保 Ingress 资源将始终具有相同的 IP 地址,并且您的域将始终指向它。

在没有静态 IP 地址的情况下删除 Ingress 资源可能会导致重新创建的 Ingress 将具有不同的 IP 地址。

根据上面的解释:您可以用您的域名指向一个不再与您的 Ingress 资源相关联的 IP 地址,因为您的 Ingress 有另一个 IP 地址。

GCP 在 2 种类型的 IP 地址上运行:

  • 短暂的
  • 静态

请查看有关 GCP 上 IP 地址的官方文档: Cloud.google.com: Compute: IP addresses

另外还有一个 article,它显示了 LoadBalancer 类型的服务 object 和 Ingress 资源之间的区别。

如果您对此有任何疑问,请告诉我。