帮助改进此页面
想为本用户指南做出贡献? 选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。您的贡献有助于我们的用户指南为每个人提供更充分的参考。
Amazon EKS 架构
Amazon EKS 与的 Kubernetes 通用集群架构保持一致。有关更多信息,请参阅 Kubernetes 文档中的 Kubernetes 组件
控制面板
Amazon EKS 确保每个集群都有自己唯一的 Kubernetes 控制面板。这种设计使每个集群的基础设施保持独立,集群或 Amazon 账户之间没有重叠。该设置包括:
- 分布式组件
-
控制面板将至少两个 API 服务器实例和三个 etcd
实例放置在 Amazon 区域内的三个 Amazon 可用区中。 - 最佳性能
-
Amazon EKS 会主动监控和调整控制面板实例,以保持最高性能。
- 恢复功能
-
如果控制面板实例出现故障,Amazon EKS 会快速替换它,必要时使用不同的可用区。
- 稳定的正常运行时间
-
通过在多个可用区运行集群,实现了可靠的 API 服务器端点可用性服务水平协议(SLA)
。
Amazon EKS 使用 Amazon Virtual Private Cloud(Amazon VPC)来限制单个集群中控制面板组件之间的流量。除非得到基于 Kubernetes 角色的访问控制(RBAC)策略授权,否则,集群组件无法查看或接收来自其它集群或其它 Amazon 账户的通信。
计算
除了控制面板,Amazon EKS 集群还有一组称为节点的工作计算机。选择适当的 Amazon EKS 集群节点类型对于满足您的特定要求和优化资源利用率至关重要。Amazon EKS 提供以下主节点类型:
- EKS 自动模式
-
EKS 自动模式将 Amazon 管理扩展到控制面板之外,将数据面板也包括在内,从而实现集群基础设施管理的自动化。自动模式将 Kubernetes 的核心功能集成为内置组件,包括计算自动扩缩、联网、负载均衡、DNS、存储和 GPU 支持等。EKS 自动模式使用具有增强安全功能的不可变 AMI,根据工作负载需求动态管理节点。在尊重容器组中断预算的同时自动更新和升级,并且包含原本需要附加组件管理的托管式组件。此选项非常适合希望利用 Amazon 的专业知识满足日常运营需要,尽可能减少运营开销,并专注于应用程序开发而不是基础设施管理的用户。
- Amazon Fargate
-
Fargate 是一个用于容器的无服务器计算引擎,无需管理底层实例。借助 Fargate,您可以指定应用程序的资源需求,然后 Amazon 自动预置、扩展和维护基础设施。对于优先考虑易用性并希望专注于应用程序开发和部署而不是管理基础设施的用户来说,此选项非常适合。
- Karpenter
-
Karpenter
是一款灵活、高性能 Kubernetes 集群自动缩放器,可帮助提高应用程序可用性和集群效率。Karpenter 可启动适当规模的计算资源来响应不断变化的应用程序负载。此选项可以预置即时计算资源,以满足您的工作负载要求。 - 托管节点组
-
托管节点组是自动化和自定义的混合体,用于管理 Amazon EKS 集群中的 Amazon EC2 实例集合。Amazon 负责修补、更新和扩展节点之类的任务,从而简化操作方面的工作。同时,还支持自定义
kubelet
参数,为高级 CPU 和内存管理策略提供了可能性。此外,它们还通过服务账户的 Amazon Identity and Access Management(IAM)角色增强安全性,同时限制每个集群对单独权限的需求。 - 自行管理的节点
-
自行管理节点可完全控制 Amazon EKS 集群中的 Amazon EC2 实例。您负责管理、扩展和维护节点,从而完全控制底层基础设施。对于需要对其节点进行精细控制和自定义,并准备投入时间管理和维护其基础设施的用户来说,此选项非常适合。
- Amazon EKS 混合节点功能
-
借助 Amazon EKS 混合节点功能,您可以将本地和边缘基础设施作为 Amazon EKS 集群中的节点。Amazon EKS 混合节点功能实现了跨环境的统一 Kubernetes 管理,将本地和边缘应用程序的 Kubernetes 控制面板管理工作转移到 Amazon。