View a markdown version of this page

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

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

EKS 可扩展性最佳实践

提示

通过 Amazon EKS 研讨会@@ 探索最佳实践。

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

如何使用本指南

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

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

了解缩放维度

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

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

E@@ KS 集群中的 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 个节点。