本页面推荐了 Kubernetes 容器工作负载策略,可让您的应用在 Google Distributed Cloud (GDC) 网闸隔离的多区域环境中更具容错能力。GDC 支持 Kubernetes 原生容器应用,这些应用在 Google Kubernetes Engine (GKE) 上得到广泛使用和支持。
本页面适用于应用运维人员群组中的开发者,他们负责为组织创建应用工作负载。如需了解详情,请参阅 GDC 气隙环境文档的受众群体。
针对高可用性应用的 Kubernetes 注意事项
在 Kubernetes 中实现高可用性 (HA) 不仅仅是控制平面。您还必须在 Google Distributed Cloud (GDC) 经过网闸隔离的环境中以弹性方式设计和部署容器工作负载。Kubernetes 提供了多种强大的机制,可最大限度地减少停机时间,并提供高可用性服务,即使在遇到基础设施问题或进行日常维护时也是如此。以下是需要考虑的关键 HA 策略:
通过副本和自动扩缩功能保持可用性:您必须有足够的应用运行实例才能提供高可用性。
ReplicaSet
:ReplicaSet
资源可确保在任意给定时间都有稳定的一组相同的 pod 副本在运行。如果某个 pod 发生故障或被终止,ReplicaSet
控制器会自动创建一个新 pod 来替代它。如需了解详情,请参阅 ReplicaSet Kubernetes 文档。Pod 横向自动扩缩器 (HPA):虽然
ReplicaSet
会保持固定数量的副本,但 HPA 会根据观测到的指标(例如 CPU 利用率或内存用量)自动调整此数量。这样,您的应用就可以处理负载高峰。如需了解详情,请参阅 Kubernetes 文档中的 Pod 横向自动扩缩。
通过
PodDisruptionBudget
(PDB) 尽可能缩短停机时间:如需了解详情,请参阅 Kubernetes 文档中的为应用指定中断预算。使用反亲和性规则分散风险:如需了解详情,请参阅 Kubernetes 文档中的亲和性和反亲和性。
使用活跃性、就绪性和启动探测进行健康检查:如需了解详情,请参阅 Kubernetes 文档中的配置活跃性、就绪性和启动探测。
通过服务实现稳定的端点和负载均衡:如需了解详情,请参阅 Kubernetes 文档中的服务。
通过部署实现平稳更新和回滚:如需了解详情,请参阅 Kubernetes 文档中的回滚部署。
为资源设置请求和限制:如需了解详情,请参阅 Kubernetes 文档中的为 Pod 和容器管理资源。