【问题标题】:How would you make sure your GKE clusters are close to your end clients?您将如何确保您的 GKE 集群靠近您的最终客户端?
【发布时间】:2020-02-20 17:10:36
【问题描述】:

如果我正在构建一个应用并将其部署到 GKE 集群,但要为来自多个区域的用户提供服务,我如何最大限度地减少用户到我的集群的延迟?

我必须:

  • 将同一个应用部署到不同地域的不同集群?
  • 将负载平衡器与 GKE 一起用作后端服务?

或者在部署时是否有任何设置以确保我的集群从多区域的角度来看具有最小的延迟?

此外,如果我正在运行单独的前端和后端应用程序。我认为最佳做法是将前端与后端分开放置在两个不同的集群中,或者在同一个集群和不同的 Pod 中?

【问题讨论】:

  • 您的问题非常简短。需要什么响应时间?前端和后端需要什么状态?状态如何存储/访问?定义了哪些预算?每个区域每秒有多少请求?您只会获得指向各种带有意见的文章的链接。您需要明确指定设计目标才能获得好的答案。

标签: kubernetes google-cloud-platform architecture google-kubernetes-engine system-design


【解决方案1】:

您应该将前端和后端应用程序部署到位于不同区域的不同数据中心的不同 kubernetes 集群中。您可以使用 ingress 设置 Google Cloud Load Balancer,它可以handle cross region traffic 用于多集群 Kubernetes 环境。

您应该使用deployment 来部署您的 pod 的多个副本。此外,您可以使用podAffinity 将前端 pod 和后端 pod 并置在同一个工作节点上。

https://cloud.google.com/blog/products/gcp/how-to-deploy-geographically-distributed-services-on-kubernetes-engine-with-kubemci

https://cloud.google.com/solutions/prep-kubernetes-engine-for-prod

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 2023-04-03
    相关资源
    最近更新 更多