在使用Kubernetes时,我们需要在基础架构和应用程序层面都实现高可用吗?

83次阅读
没有评论

问题描述

想知道在使用Kubernetes时,是否需要在基础架构和应用程序层面都实现高可用。他想知道是否可以通过Pod自动扩展来实现,或者是否需要在云提供商中同时实现水平Pod自动扩展和基础架构高可用,以实现最小的停机时间。

解决方案

请注意以下操作注意版本差异及修改前做好备份。
根据用户的问题,我们需要考虑应用程序的要求来确定解决方案。以下是一些解决方案供参考:

方案1

从Kubernetes的角度来看,应用程序已经通过设计具有高可用性。Pod的状态是固定的,根据规范或源容器进行重建,并且复制集负责部署。因此,从Kubernetes的角度来看,应用程序已经具备高可用性,这也是为什么文档中几乎没有涉及应用程序级别高可用性的原因。
需要注意的是,使用kubeadm的Kubernetes高可用性仍处于实验阶段,您的集群需要运行Kubernetes 1.12或更高版本。
例如,Google的Kubernetes Engine提供了“区域集群”,这些集群分布在一个区域的多个区域中。这无疑增加了集群的可用性。您可以在这里了解更多关于GKE区域的信息:https://cloud.google.com/kubernetes-engine/docs/concepts/regional-clusters
关于当前Kubernetes HA集群选项的官方说明文档可以在这里找到:https://kubernetes.io/docs/setup/independent/ha-topology/

方案2

请注意以下操作注意版本差异及修改前做好备份。
根据用户的问题,我们需要考虑应用程序的要求来确定解决方案。以下是一些解决方案供参考:
从Kubernetes的角度来看,应用程序已经通过设计具有高可用性。Pod的状态是固定的,根据规范或源容器进行重建,并且复制集负责部署。因此,从Kubernetes的角度来看,应用程序已经具备高可用性,这也是为什么文档中几乎没有涉及应用程序级别高可用性的原因。
需要注意的是,使用kubeadm的Kubernetes高可用性仍处于实验阶段,您的集群需要运行Kubernetes 1.12或更高版本。
例如,Google的Kubernetes Engine提供了“区域集群”,这些集群分布在一个区域的多个区域中。这无疑增加了集群的可用性。您可以在这里了解更多关于GKE区域的信息:https://cloud.google.com/kubernetes-engine/docs/concepts/regional-clusters
关于当前Kubernetes HA集群选项的官方说明文档可以在这里找到:https://kubernetes.io/docs/setup/independent/ha-topology/

正文完