使用具有多区域节点的 Kubernetes 集群的高可用性应用程序
Highly available application using a Kubernetes cluster with nodes in multiple zone
我们已经部署了具有前端和后端服务的应用程序。它部署在 AWS 上的 kubernetes 上。两种服务都部署在单个节点上。
今天因为节点的问题而宕机了。
为避免将来出现此类故障,建议的解决方案是在 3 个不同的可用性区域中创建 3 个节点。我们将为前端和后端服务创建 3 个副本 pods。每个节点将托管一对前端和后端。这样,如果一个 az 中的节点出现故障,我们在其他区域中仍然会有 2 个节点。
我们应该继续采用这种方法,还是有更好的解决方案?
PS(解决方案的一个主要要求是,它不能花费太多)
您的问题解决方案遵循了最佳实践。这里有一些我想强调的。
1: 您可能希望避免 运行 两个 pods 在同一节点上引用 Advanced scheduling.
2: Use Pod Topology Spread Constraints.
强烈推荐
- Avoiding all pods in a single node of Kubernetes cluster
我们已经部署了具有前端和后端服务的应用程序。它部署在 AWS 上的 kubernetes 上。两种服务都部署在单个节点上。
今天因为节点的问题而宕机了。
为避免将来出现此类故障,建议的解决方案是在 3 个不同的可用性区域中创建 3 个节点。我们将为前端和后端服务创建 3 个副本 pods。每个节点将托管一对前端和后端。这样,如果一个 az 中的节点出现故障,我们在其他区域中仍然会有 2 个节点。
我们应该继续采用这种方法,还是有更好的解决方案?
PS(解决方案的一个主要要求是,它不能花费太多)
您的问题解决方案遵循了最佳实践。这里有一些我想强调的。
1: 您可能希望避免 运行 两个 pods 在同一节点上引用 Advanced scheduling.
2: Use Pod Topology Spread Constraints.
强烈推荐
- Avoiding all pods in a single node of Kubernetes cluster