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