我找到了两个参考资料(这里和这里) 在 GCP 文档中说我可以在主机项目中保留一个 IPv4 地址并在服务项目中使用它。
我的情况是,我有一个主机项目,其中有一个共享 VPC 网络,并且我在那里预留了一个外部 IP 地址。现在我想按照所述将此 IPv4 地址分配给 GKE LoadBalancer 服务在这里即。我想spec.loadBalancerIP
在k8s 服务。
我确信共享 VPC 的配置有些正确,因为我有两个集群(一个在主机项目中,一个在服务项目中)正在运行,并且我能够从 podB@service-k8s-cluster 查询 podA@host-k8s-cluster,但对于type: LoadBalancer
服务项目中的 k8s 服务,我收到以下错误消息:
Error syncing load balancer: failed to ensure load balancer requested ip "..." is neither static nor assigned to the LB
我该如何正确地使用/共享这个扩展 IPv4 地址到服务项目的 k8s LoadBalancer 服务?
附注一下,文档还提到,所有 GCP 负载均衡器服务都必须在与集群相同的(即服务)项目中定义,如果 IPv4 地址也在同一个项目中,则会自动发生这种情况,但如果我从主机项目中指定扩展 IPv4 地址,则我看不到在服务项目中创建的任何这些资源。
文档中的引言
A区域外部 IP 地址必须定义在与负载均衡器相同的项目或共享 VPC 宿主项目。
静态外部 IPv4 地址:在宿主项目中定义的外部 IPv4 地址对象可以被以下任一资源使用主办项目或任何附加的服务项目。