本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
结论
在设计架构以实现高应用程序可用性和弹性时,请考虑以下组件:
-
微服务应用程序(其 pod 和容器)
-
工作负载数据平面(入口控制器、容器、Amazon VPC CNI 等系统组件、服务网格 sidecar 和 kube-proxy)
-
工作负载管理层(控制器、准入控制器、网络策略引擎和这些组件的永久数据存储)
-
Kubernetes 控制平面
-
基础架构(节点、网络和网络设备)
要解决这些组件注意事项,请使用以下关键策略:
-
为帮助确保高可用性和容错能力,请将工作负载分散到节点和可用区域中。
-
要保护关键工作负载,请使用 pod 中断预算(PDBs)在中断期间保持应用程序的稳定性。
-
为了帮助确保 Pod 正常运行并提供流量,请配置启动探针、存活探针、就绪探测器和负载均衡器运行状况检查。
-
要有效地管理容器状态转换,请配置容器生命周期挂钩。
-
要在节点故障或维护期间控制驱逐过程,请配置 Pod 驱逐时间。
通过实施这些实践,您可以显著增强在 Amazon EKS 上运行的应用程序的可靠性和弹性,从而确保强大的性能和高可用性。