View a markdown version of this page

EKS 可扩展性最佳实践 - Amazon EKS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

EKS 可扩展性最佳实践

本指南为扩展 EKS 集群提供了建议。扩展 EKS 集群的目标是最大限度地提高单个集群可以执行的工作量。与使用多个集群相比,使用单个大型 EKS 集群可以减少运营负载,但在多区域部署、租户隔离和集群升级等方面需要权衡取舍。在本文档中,我们将重点介绍如何使用单个集群实现最大的可扩展性。

如何使用本指南

本指南适用于负责在 AWS 中创建和管理 EKS 集群的开发人员和管理员。它侧重于一些通用的Kubernetes扩展实践,但没有具体说明自我管理的Kubernetes集群或使用EKS Anywhere在AWS区域之外运行的集群。https://anywhere.eks.amazonaws.com/

每个主题都有简短的概述,然后是大规模运营 EKS 集群的建议和最佳实践。无需按特定顺序阅读主题,未经测试和验证建议是否适用于您的集群,则不应应用这些建议。

了解缩放维度

可扩展性与性能和可靠性不同,在规划集群和工作负载需求时应考虑这三者。随着集群的扩展,需要对其进行监控,但本指南不涵盖监控最佳实践。EKS 可以扩展到较大的规模,但你需要规划如何将集群扩展到 300 个节点或 5,000 个 Pod 以上。这些不是绝对数字,但它们来自本指南与多位用户、工程师和支持专业人员合作的结果。

Kubernetes 中的扩展是多维的,没有适用于所有情况的特定设置或建议。我们可以为扩展提供指导的主要领域包括:

EKS 集群中的 Kubernetes 控制平面包括 AWS 自动运行和扩展的所有服务(例如 Kubernetes API 服务器)。扩展控制平面是 AWS 的责任,但负责任地使用控制平面是您的责任。

Kubernetes 数据平面扩展处理集群和工作负载所需的 AWS 资源,但它们不在 EKS 控制平面内。包括 EC2 实例、kubelet 和存储在内的资源都需要随着集群的扩展而扩展。

集群服务是在集群内部运行的 Kubernetes 控制器和应用程序,为您的集群和工作负载提供功能。这些可以是 EKS Add-ons,也可以是您为合规性和集成而安装的其他服务或 Helm 图表。这些服务通常依赖于工作负载,随着工作负载的扩展,您的集群服务将需要随之扩展。

工作负载是您拥有集群的原因,应随集群水平扩展。工作负载在 Kubernetes 中的一些集成和设置可以帮助集群扩展。Kubernetes 抽象还有架构方面的考虑,例如命名空间和服务。

超大缩放比例

如果您要将单个集群扩展到 1,000 个节点或 50,000 个 Pod 以上,我们很乐意与您交谈。我们建议您联系您的支持团队或技术客户经理,与专家取得联系,他们可以帮助您规划和扩展本指南中提供的信息。如果您被选中加入,Amazon EKS 可以在单个集群中支持多达 100,000 个节点。