本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 Amazon EKS?
Amazon Elastic Kubernetes Service (Amazon EKS) 是一项托管服务,可用于在 上运行 AWS Kubernetes,而无需安装、操作和维护您自己的 Kubernetes 控制层面或节点。Kubernetes 是一个用于实现容器化应用程序的部署、扩展和管理的自动化的开源系统。Amazon EKS:
-
跨多个 运行和扩展 Kubernetes AWS 可用区控制层面,以确保高可用性。
-
根据负载自动扩展控制层面实例,检测和替换运行状况不佳的控制层面实例,并为它们提供自动版本更新和修补。
-
与许多 AWS 服务集成,以便为您的应用程序提供可扩展性和安全性,包括以下功能:
-
Amazon ECR用于容器镜像的
-
Elastic Load Balancing用于负载分配的
-
IAM用于身份验证的
-
Amazon VPC用于隔离的
-
-
运行最新版本的开源 Kubernetes 软件,以便您可以使用 Kubernetes 社区的所有现有插件和工具。在 上运行的应用程序Amazon EKS与在任何标准 Kubernetes 环境中运行的应用程序完全兼容,无论它们是在本地数据中心还是在公共云中运行都是如此。这意味着,您可以轻松地将任何标准 Kubernetes 应用程序迁移到 Amazon EKS ,而无需修改代码。
Amazon EKS 控制层面架构
Amazon EKS 为每个集群运行单个租户 Kubernetes 控制层面。控制层面基础设施不会跨集群或AWS账户共享。控制层面包含至少两个 API 服务器实例和三个
etcd
实例,它们跨可用区一个区域内的三个 运行。 Amazon EKS
-
主动监控控制层面实例上的负载,并自动扩展这些实例以确保高性能。
-
自动检测和替换运行状况不佳的控制层面实例,并根据需要跨 可用区区域中的 重新启动它们。
-
利用 AWS 区域的架构来保持高可用性。因此,Amazon EKS 能够提供确保 API 服务器终端节点可用性的 SLA
.
Amazon EKS 使用 Amazon VPC 网络策略来将控制层面组件之间的流量限制到一个集群内。除非通过 Kubernetes RBAC 策略授权,否则集群的控制层面组件无法查看或接收来自其他集群或其他AWS账户的通信。此安全且高度可用的配置使 成为生产工作负载的Amazon EKS可靠建议配置。
Amazon EKS 是如何运行的?

Amazon EKS 入门是很轻松的:
-
在 中Amazon EKS或使用 AWS 管理控制台 或 之一创建 AWS CLI AWS 集群SDKs。
-
启动托管节点或自行管理Amazon EC2节点,或将工作负载部署到 AWS Fargate。
-
当您的集群准备就绪时,您可以配置常用 Kubernetes 工具(如
kubectl
)以与集群通信。 -
在Amazon EKS集群上部署和管理工作负载的方式与任何其他 Kubernetes 环境相同。您还可以使用 查看有关工作负载的信息AWS 管理控制台。
要创建您的第一个 集群及其关联资源,请参阅开始使用 Amazon EKS。
Pricing
Amazon EKS 集群由控制层面和运行 Pod 的 Amazon EC2 或 AWS Fargate 计算组成。有关 控制层面的定价的更多信息,请参阅 Amazon EKS 定价
-
按需实例 按秒–付费,无需长期购买或预付款。有关更多信息,请参阅Amazon EC2按需定价
和 AWS Fargate 定价 。 -
Savings Plans – 您可以通过承诺在 1 年或 3 年期限内保持一致的使用量(以美元/小时为单位)来降低成本。有关更多信息,请参阅使用 Savings Plans
进行定价。
为自管理 Kubernetes Amazon EKS 集群与 保持一致
Amazon EKS Distro 是云Amazon EKS中由 部署的相同开源 Kubernetes 软件及依赖项的发行版。借助 Amazon EKS Distro,您可以在部署应用程序时创建可靠且安全的集群。您可以依赖由 Amazon EKS、 等部署的相同版本的 Kubernetes、、具有最新更新的CoreDNS上游 CNI 和 CSI 附加项以及扩展的安全修补支持。 Amazon EKS Distro 遵循与 相同的 Kubernetes 版本发布周期Amazon EKS,并且作为开源项目提供。
上的Amazon EKS Distro源代码可用GitHub