GKE 多区域

GKE 多区域

应用程序 (pod) 目前在 GLB<->GKE 欧洲(例如荷兰)中运行。我需要扩展应用程序以服务于美国和亚洲(例如旧金山和日本)的客户。

我注意到 kubemci 处于测试阶段。

请帮助澄清 GKE 是否需要在美国和亚洲或欧洲复制就足够了。

请分享一些针对这种情况的最佳实践/建议。

答案1

通用方法是在区域内创建具有相同配置的 GKE 集群。是否需要应用程序的区域副本,基本上取决于区域中的用户数量和响应时间限制。

您可以遵循的一种可能的实施方式如下所述:如何使用 kubemci 在 Kubernetes Engine 上部署地理分布的服务

然后可以使用多集群 Ingress 对多个集群进行负载平衡(库贝姆西

正如您所注意到的,kubemci目前处于测试阶段,支持有限。因此,它不太可能适用于生产工作负载;而更适合试用。

答案2

我可能晚了几个星期,但这对于某些人来说可能仍然有意义。

注意:kubemci 工具是一个临时解决方案,旨在帮助用户开始使用多集群 Ingress。此工具将被使用 kubectl 的实现所取代,以提供更原生的 Kubernetes 体验。一旦 kubectl 实现可用,您将需要手动迁移任何使用 kubemci 的应用程序。

我不知道你的架构,但如果适用的话,使用容器原生负载均衡全局负载均衡器

简单的容器原生负载均衡器设置,您可以使用 Kubernetes 资源做任何事情,但无法提供全局负载均衡。您需要使用独立网络端点组(NEG)。手动创建负载均衡器(或使用任何工具),创建后端服务其中包括不同集群中相同服务的 NEG,并将后端服务添加到负载均衡器。您将获得以下好处:优质网络层(降低全球客户端的延迟)并且如果某个地区的服务过载或中断,则会发生流量溢出。

相关内容