【问题标题】:How highly available is the master zone of my GKE cluster?我的 GKE 集群的主可用区的可用性如何?
【发布时间】:2023-03-23 11:45:01
【问题描述】:

GKE 似乎使用一个可用区作为主节点创建集群,尽管它提供了将节点部署到多个可用区的选项。我担心如果主可用区出现故障,我将无法再管理我的集群。我知道我的应用会继续运行,但我很担心我无法扩展我的服务或部署我的应用的新版本等。

我对“GKE 集群易受主区域宕机的影响”的理解是否正确?如果不是,你能解释一下怎么做吗?如果它是正确的,我有哪些选择可以使其具有高可用性,以便它可以容忍一个可用区出现故障?

【问题讨论】:

    标签: kubernetes google-cloud-platform gcp


    【解决方案1】:

    今天的 GKE 主服务器不具备高可用性,如果某个区域出现故障,您的集群的 Kubernetes API 也会随之出现故障。但是您应该注意,GKE 主服务器是具有 99.5% SLA 的托管服务。 https://cloud.google.com/container-engine/sla 未来GKE可能会为master(API服务器)提供高可用的解决方案。

    您的理解是正确的,如果 Kubernetes 主服务器/API 在短时间内不可用,它不会影响您在集群上运行的已部署工作负载(例如网站或其他服务)。但是您将无法按比例放大/缩小。

    作为用户,您今天无法做任何事情来使主服务器具有高可用性。

    但是,我想说 99.5% 的正常运行时间相当不错。它相当于每天 7 分钟 (https://uptime.is/99.5),如果您不是 24/7 全天候管理集群,您可能会时不时地看到问题。如果您使用自动化,您可能应该有一些重试逻辑。

    【讨论】:

    • 感谢您的回答,艾哈迈德。不幸的是,99.5% 的 SLA 对我来说还不够。 kubernetes federation 能否成为实现 99.9% 和更高可用性的答案?我考虑部署多个集群;每个可用区一个,并使用联合。
    • 目前,集群联合意味着您自己在单个集群中设置联合管理平面。因此,它可能不会与托管 GKE 选项有很大不同。我可以建议的是,查看kubeadm 工具以在具有多个主节点的 GCE 上手动创建集群。
    • 是的,我了解其中一个集群托管联邦平面,如果该集群的相应可用区出现故障,您将失去联邦。但是我喜欢它的是其他集群仍然可以单独使用。
    • 当联邦平面恢复时,它会发现我对另一个集群所做的更改吗?例如,假设有集群 A 和 B 的联邦。集群 A 托管联邦。我有一个包含 4 个副本的 pod 部署;集群 A 和 B 各获得 2 个。当集群 A 宕机时,联邦平面也宕机了,如果我将集群 B 上的副本数增加到 4 以弥补集群 A 的损失,当联邦恢复时会发生什么?它会将集群 B 覆盖回 2 个副本吗?
    • 区域集群现在是GA,解决了这个问题。
    【解决方案2】:

    GKE regional clusters 提供多主机设置,在该区域的每个区域中都有一个主机,现已普遍可用。请参阅launch blog post 了解快速概览。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 2021-11-15
      • 2018-07-02
      • 2019-12-04
      相关资源
      最近更新 更多