Amazon EKS 常见问题

一般性问题

Amazon EKS 是一项托管服务,借助该服务,您可以轻松在 AWS 上运行 Kubernetes,而无需安装和操作您自己的 Kubernetes 控制面板或 Worker 节点。

Kubernetes 是一款开源容器编排系统,您可以利用它大规模地部署和管理容器化应用程序。Kubernetes 会将容器安排到各个逻辑分组以便进行管理和查找,然后在 Amazon Elastic Compute Cloud (Amazon EC2) 实例集群上启动它们。使用 Kubernetes,您可以使用同一工具集在本地和云中运行容器化应用程序,包括微服务、批处理工作线程和平台即服务 (PaaS)。

Amazon EKS 可跨多个 AWS 可用区(AZ)预置和扩展 Kubernetes 控制面板(包括应用程序编程接口(API)服务器和后端持久层),从而获得高可用性和容错能力。Amazon EKS 可自动检测和替换运行状况不佳的控制面板节点并修补控制面板。您可以使用 AWS Fargate 运行 EKS,前者提供适用于容器的无服务器计算。使用 Fargate,您无需预置和管理服务器,而且可以为每个应用程序指定资源并为其付费,并通过设计隔离应用程序来提高安全性。

Amazon EKS 可与许多 AWS 服务集成,为应用程序提供可扩展性和安全性。这些产品包括用于分配负载的 Elastic Load Balancing、用于身份验证的 AWS Identity and Access Management (IAM)、用于隔离的 Amazon Virtual Private Cloud (VPC) 和用于日志记录的 AWS CloudTrail。

Amazon EKS 可为您预置(启动)和管理 Kubernetes 控制面板和 Worker 节点。总体来说,Kubernetes 由两大组件构成:运行容器的工作线程节点群集和管理容器在集群上的启动时间和位置并监控容器状态的控制面板。

如果不使用 Amazon EKS,您需要自行运行 Kubernetes 控制面板和工作线程节点群集。使用 Amazon EKS,您可以在 EKS 控制台、命令行界面 (CLI) 或 API 中通过单个命令预置您的工作线程节点。AWS 在高度可用且安全的配置中处理 Kubernetes 控制面板的预置、扩展和管理。这消除了操作重担,让您能够专注于应用程序构建而非 AWS 基础设施管理。

Amazon EKS 支持与 Kubernetes 兼容的 Linux x86、ARM 和 Windows Server 操作系统发行版本。Amazon EKS 为 Amazon Linux 2、Bottlerocket 和 Windows Server 2019 提供经过优化的 AMI。目前,还没有针对 AL2023 的 Amazon EKS 优化 AMI。针对其他 Linux 发行版本(例如 Ubuntu),可从其各自的供应商处获得 EKS 优化型 AMI。

请通过 AWS 容器服务公共路线图创建功能请求,告诉我们可以添加或改进哪些功能

集成

Amazon EKS 运行开源 Kubernetes 软件,因此您可以使用 Kubernetes 社区中的所有现有插件和工具。无论是在本地数据中心还是在公有云中,在 Amazon EKS 上运行的应用程序都与在任何标准 Kubernetes 环境中运行的应用程序完全兼容。这意味着您可以将任何标准 Kubernetes 应用程序轻松迁移到 Amazon EKS,而无需修改任何代码。

符合。您可以使用 AWS Fargate 和 Amazon EKS,将 Kubernetes 应用程序作为无服务器容器运行。

EKS 附加组件可让您启用及管理 Kubernetes 操作软件,这些操作软件提供观测、扩展、联网以及针对您的 EKS 集群进行 AWS 云资源集成等功能。推出后,EKS 附加组件支持通过 EKS API 控制 AWS VPC CNI 插件的发布和版本。

Amazon EKS 附加组件可让您一键式安装及管理 Kubernetes 操作软件。只需使用一个命令即可完成从集群创建到运行应用程序的整个过程,同时可以轻松将集群所需的操作软件保持最新。如此就确保了 Kubernetes 集群的安全性和稳定性,并减少了在 AWS 上启动及管理生产就绪的 Kubernetes 集群所需完成的工作量。

版本和更新

请参阅 Amazon EKS 文档,了解当前受支持的 Kubernetes 版本。Amazon EKS 今后将继续支持更多 Kubernetes 版本。

符合。Amazon EKS 为 Kubernetes 和 Amazon EKS 平台版本执行托管的就地集群升级。这简化了集群操作,使您可以利用最新的 Kubernetes 功能以及 Amazon EKS 配置和安全补丁的更新。

存在可应用于 Amazon EKS 集群的两种更新,即 Kubernetes 版本更新和 Amazon EKS 平台版本更新。随着新的 Kubernetes 版本的发布和验证(供 Amazon EKS 使用),我们将在任何给定时间支持三个稳定的 Kubernetes 版本作为更新过程的一部分。

Amazon EKS 平台版本代表集群控制平面的功能,例如启用了哪些 Kubernetes API 服务器标记以及当前的 Kubernetes 补丁程序版本。每个 Kubernetes 次要版本都有一个或多个关联的 Amazon EKS 平台版本。不同 Kubernetes 次要版本的平台版本彼此独立。

当 Amazon EKS 中有新的 Kubernetes 次要版本(例如 1.13)可用时,该 Kubernetes 次要版本的初始 Amazon EKS 平台版本从 eks.1 开始。但是,Amazon EKS 会定期发布新的平台版本,以启用新的 Kubernetes 控制平面设置并提供安全修复程序。

新版本的 Kubernetes 会对 Kubernetes API 进行重大更改,因此会导致应用程序行为发生变化。通过手动控制 Kubernetes 集群版本,您可以在升级生产集群之前针对新版本的 Kubernetes 测试应用程序。Amazon EKS 使您能够选择何时向 EKS 集群引入更改。

AWS 发布包含必要的 Worker 节点二进制文件(Docker 和 Kubelet)的 EKS 优化型亚马逊机器映像(AMI)。 此 AMI 会定期更新,并包含这些组件的最新版本。您可以在 EKS 控制台、API 或 CLI 中使用单独一条命令将 EKS 托管节点更新为 EKS 优化型 AMI 的最新版本。

如果您要构建自己的自定义 AMI 以用于 EKS Worker 节点,AWS 还发布记录我们的构建步骤的 Packer 脚本,以允许您识别每个 AMI 版本中包含的二进制文件。

通过 Amazon EKS 对 Kubernetes 版本的扩展支持,您可以在 Amazon EKS 正式发布 Kubernetes 次要版本之日起长达 26 个月内使用该版本。获得扩展支持的 Amazon EKS 版本会收到针对 Amazon EKS 托管的 Kubernetes 控制面板的持续安全补丁。此外,Amazon EKS 还将发布适用于 Amazon VPC CNI、kube-proxy 和 CoreDNS 插件、AWS 发布的适用于 Amazon Linux、Bottlerocket、Windows 和 EKS Fargate 节点的 EKS 优化型亚马逊机器映像(AMI)的重要补丁。AWS 为所有 Amazon EKS 版本提供标准和扩展支持,并提供全面的技术支持。对 Kubernetes 版本的扩展支持已在提供 Amazon EKS 的所有 AWS 区域推出,包括 AWS GovCloud(美国)区域。有关 Amazon EKS 版本支持策略的更多信息,请参阅 Amazon EKS 文档

定价和可用性

您每小时需要为您创建的每个 Amazon EKS 集群和您创建的用于运行 Kubernetes Worker 节点的 AWS 资源支付 0.10 USD。您只需按您的实际用量付费;既没有最低费用,也无需预付费。有关更多信息,请访问 EKS 定价页面

请访问 AWS 全球基础设施区域表,了解有关 Amazon EKS 的区域可用性的最新信息。

服务水平协议

可以在此处找到 Amazon EKS SLA。