我们一直在尝试配置一个K8集群,该集群使用最经济的设置部署到Google Cloud Platform中。由于围绕我们的商业计费即服务平台Bill Rush的监管和地缘政治限制,我们的解决方案将部署到不同的区域数据中心。
鉴于我们的区域要求,这意味着我们希望利用以下基础设施设置:
- 已提交 使用虚拟机资源分配。我们的 K8 节点将在预配时分配给预定义的固定期限计算基础结构配额。
- 标准网络层 - 由于本地客户距离 GCP 区域/区域数据中心位置仅一两个跃点,因此我们很乐意使用外部网络提供商将流量传输到最近的 Google 网络出口点进入数据中心。不需要高级网络路由。
- 区域环境和部署。我们只需要一个系统跨一个或两个区域的区域运行以实现冗余。我们不需要更高级的全球冗余设置。
使用这 3 个选项将为我们每个区域应用程序环境提供最便宜的设置。
此外,所有区域实例都需要可添加书签的 URL,以便用户可以轻松找到我们的应用程序环境。因此,我们需要为每个环境设定 DNS 和外部 IP 种子。当我们将它们应用于 K8 集群环境时,需要在 YAML 入口文件中引用它们。
问题:
我们希望使用传统的 Kubernetes 最佳实践并定义入口。这将在集群中公开一个外部入口点,该入口点由特定于 GKE 的 Google 云控制器配置和管理。
对于 GKE 入口,仅支持单个设置:全局 HTTP(S( 负载均衡器,其中包括 [代理、转发规则、外部 IP、后端、证书]。使用区域外部 IP 时,LB 设置失败。
问题:
- 为什么不允许在入口 YAML 声明中使用区域外部 IP?
- 哪些替代 GKE 群集配置将支持符合标准网络层的外部 IP 地址
- 这是否会影响我们使用 Anthos 进行开发和部署在本地的 UAT 集群的能力。
提前谢谢。
1( 为什么不允许在入口 YAML 声明中使用区域外部 IP?
根据有关静态外部 IP 地址的 GCP 文档,"静态外部 IP 地址可以是区域资源,也可以是全局资源。区域静态 IP 地址允许该区域的资源或区域内可用区的资源使用该 IP 地址。在这种情况下,VM 实例和区域转发规则可以使用区域静态 IP 地址。
全局静态外部 IP 地址仅适用于用于全局负载平衡的全局转发规则。不能将全局 IP 地址分配给区域或区域资源。
2( 哪些替代 GKE 群集配置将支持符合标准网络层的外部 IP 地址?
您可能需要考虑某些区域入口或第三方 nginx 入口并在那里使用区域 IP 地址,您必须使用 --region 标志创建新的区域外部 IP 地址。您可以在此社区文档中找到有关"Google Kubernetes Engine 上的 NGINX 控制器的入口"的更多信息
3(这是否会影响我们使用Anthos进行开发和部署在本地的UAT集群的能力。
根据我的理解,它将使用区域资源,因此您不会获得全局资源的任何优势,例如将 GCP GFE 访问到客户或服务用户的最近位置。