GKE 似乎使用一个可用区作为主节点创建集群,尽管它提供了将节点部署到多个可用区的选项。我担心如果主可用区出现故障,我将无法再管理我的集群。我了解我的应用程序将继续运行,但我无法扩展我的服务或部署我的应用程序的新版本等,这是一个很大的问题。
我对“GKE 集群容易受到主区域宕机”的理解正确吗?如果不是,你能解释一下怎么做吗?如果它是正确的,我有哪些选择可以使其具有高可用性,以便它可以容忍一个可用区出现故障?
GKE 似乎使用一个可用区作为主节点创建集群,尽管它提供了将节点部署到多个可用区的选项。我担心如果主可用区出现故障,我将无法再管理我的集群。我了解我的应用程序将继续运行,但我无法扩展我的服务或部署我的应用程序的新版本等,这是一个很大的问题。
我对“GKE 集群容易受到主区域宕机”的理解正确吗?如果不是,你能解释一下怎么做吗?如果它是正确的,我有哪些选择可以使其具有高可用性,以便它可以容忍一个可用区出现故障?
今天的 GKE 主服务器不是高可用的,如果一个区域出现故障,您的集群的 Kubernetes API 也会随之下降。但是您应该注意,GKE 主服务器是具有 99.5% SLA 的托管服务。https://cloud.google.com/container-engine/sla未来GKE可能会为master(API服务器)提供高可用的解决方案。
您的理解是正确的,如果 Kubernetes 主服务器/API 在短时间内不可用,它不会影响您在集群上运行的已部署工作负载(例如网站或其他服务)。但是您将无法按比例放大/缩小事物。
作为用户,您今天无法做任何事情来使 master 具有高可用性。
但是,我会说 99.5% 是一个相当不错的正常运行时间。它对应于每天 7 分钟 ( https://uptime.is/99.5 ),如果您不是 24/7 全天候管理集群,您可能会时不时地看到问题。如果您使用自动化,您可能应该有一些重试逻辑。