Amazon Elastic Kubernetes Service (Amazon EKS) 是一项托管 Kubernetes 服务,让您能够轻松在 AWS 上和本地运行 Kubernetes。 Kubernetes 是一种开源系统,用于自动化部署、扩展和管理容器化应用程序。Amazon EKS 经认证与 Kubernetes 一致,因此运行于上游 Kubernetes 的现有应用程序可与 Amazon EKS 兼容。

Amazon EKS 可自动管理负责安排容器、管理应用程序可用性、存储集群数据和其他关键任务的 Kubernetes 控制平面节点的可用性和可扩展性。

Amazon EKS 可让您在 Amazon Elastic Compute Cloud (Amazon EC2) 和 AWS Fargate 上运行 Kubernetes 应用程序。借助 Amazon EKS,您可以利用 AWS 基础设施的完整性能、规模、可靠性和可用性,以及与各种 AWS 联网和安全服务的集成,例如用于负载分配的 Application Load Balancer (ALB)、与基于角色的访问控制 (RBAC) 集成的 AWS Identity and Access Management (IAM) 和用于 Pod 联网的 AWS Virtual Private Cloud (VPC) 支持。

托管的 Kubernetes 集群

托管的控制平面

Amazon EKS 提供的 Kubernetes 控制平面不仅可扩展且高度可用,还能跨多个 AWS 可用区 (AZ) 运行。Amazon EKS 可自动管理 Kubernetes API 服务器和 etcd 持久层的可用性和可扩展性。Amazon EKS 可跨三个 AZ 运行 Kubernetes 控制平面以确保高可用性,并且可自动检测和替换运行状况不佳的控制平面节点。

服务集成

AWS Controllers for Kubernetes (ACK) 可让您直接从 Kubernetes 环境内部对 AWS 服务进行管理控制。ACK 帮助您利用 AWS 服务轻松构建可扩展且高度可用的 Kubernetes 应用程序。

托管的 Kubernetes 控制台

EKS 提供适用于 Kubernetes 集群的集成式控制台。集群操作人员和应用程序开发人员可将 EKS 用作单一平台,来组织、可视化您在 Amazon EKS 中运行的 Kubernetes 应用程序并对其进行故障排除。EKS 控制台由 AWS 托管,并且可自动用于所有 EKS 集群。

EKS 附加组件

EKS 附加组件是常用的操作软件,可扩展 Kubernetes 的操作功能。您可以使用 EKS 来安装此附加组件软件并保持最新。启动 Amazon EKS 集群时,选择想要在集群中运行的附加组件,包括用于可观测性、联网、自动扩展和 AWS 服务集成的 Kubernetes 工具。

托管的节点组

Amazon EKS 可帮助您通过单个命令即可为集群创建、更新、扩展或终止节点。这些节点还能利用 Amazon EC2 Spot 实例来减少成本。 托管节点组使用 AWS 账户中经 EKS 优化或自定义的最新 Amazon Machine Image (AMI) 来运行 Amazon EC2 实例,同时更新和终止会以适当速度耗尽的节点,以确保应用程序保持可用。

使用 eksctl 启动节点和单行管理

使用 eksctl 命令行工具在几分钟内启动并运行 Amazon EKS。只需运行“eksctl create cluster”命令即可创建您的 EKS 集群。您可以使用 eksctl 来简化集群管理和操作,包括管理节点和附加组件。

支持 Windows

Amazon EKS 支持 Windows 工作节点和 Windows 容器计划。EKS 支持 Windows 工作节点与 Linux 工作节点一起运行,从而使您可以使用同一集群来管理任一操作系统上的应用程序。

ARM 支持

AWS Graviton2 处理器为基于 ARM 的 EC2 实例提供支持,从而实现性能和功能的巨大飞跃,同时节省大量成本。提高应用程序成本效率是运行容器的主要目标。二者结合,便可带来理想的性价比。例如,工作负载测试显示,与其基于 x86 的 M5、C5 和 R5 系列的同类产品相比,基于 Graviton2 处理器的实例类型的性价比提升高达 40%。在两项服务同时可用的区域内,AWS Graviton2 上的 Amazon EKS 通常可用。

网络和安全性

借助 AWS 服务和技术合作伙伴解决方案的高级功能和集成,Amazon EKS 使您能够轻松为 Kubernetes 群集提供安全性。例如,IAM 提供精细访问控制,Amazon VPC 将您的 Kubernetes 群集与其他客户隔离。

服务发现

AWS Cloud Map 是一项资源发现服务。 借助 Cloud Map,您可以为动态变化的应用程序资源定义自定义名称,并维护这些动态变化的应用程序资源的更新位置。这将提高应用程序可用性,因为您的 Web 服务始终会发现最新的资源位置。Cloud Map 可与 external-dns 搭配使用,external-dns 是一个开源 Kubernetes 连接器,可以在 Kubernetes 服务启动时自动将内部服务位置传播到 Cloud Map 服务注册表,并在终止时将其删除。基于 Kubernetes 的服务可通过 Cloud Map 发现,Cloud Map 为所有容器工作负载提供统一的服务注册表。

服务网格

服务网格可以标准化应用程序中的每种微服务的通信方式,从而轻松地构建和运行复杂的微服务应用程序。AWS App Mesh 可以配置应用程序,以实现端到端的可见性和高可用性。您可以使用适用于 Kubernetes 的 AWS App Mesh 控制器来创建连接到网格的新服务、定义流量路由并配置诸如加密等安全功能。此外,App Mesh 还允许您在 AWS Cloud Map 中自动注册 Kubernetes pod 以发现服务。App Mesh 将指标、日志和跟踪导出至在提供的 Envoy 引导配置中指定的终端节点。App Mesh 提供 API,以配置已启用网格功能的微服务之间的流量路由、断路、重试及其他控制。App Mesh Mutual TLS 有助于加密服务之间的所有请求,即使此类请求处于您的私有网络中。此外,您可以添加身份验证控件以仅在所允许的服务之间启用通信。

VPC 原生联网

您的 EKS 集群在 Amazon VPC 中运行,因此您可以使用自己的 VPC 安全组和网络访问控制列表 (ACL)。不将计算资源与其他客户共享,这为构建安全可靠的应用程序提供了高度的隔离。EKS 使用 Amazon VPC 容器网络接口 (CNI),使 Kubernetes Pod 能够从 VPC 中接收 IP 地址。 Amazon EKS 与 Project Calico 网络策略引擎配合使用,可以为您的 Kubernetes 工作负载提供精细的网络策略。使用 Kubernetes 网络策略 API 按每个服务来控制访问..

AWS IAM Authenticator

Amazon EKS 将 Kubernetes RBAC(Kubernetes 基于本机角色的访问控制系统)与 AWS IAM 集成。您可以将 RBAC 角色直接分配给每个 IAM 实体,从而对 Kubernetes 控制平面节点进行精细访问权限控制。

服务账户的 IAM

Amazon EKS 允许您为 Kubernetes 服务账户分配 IAM 权限。IAM 角色可以控制对其他容器化服务、集群外部的 AWS 资源(如数据库和机密信息)或在 AWS 外部运行的第三方服务和应用程序的访问。这样,当运行具有多个主机托管服务的集群时,可以为您提供精细的 Pod 级访问控制,同时可以简化集群可用性和成本优化。

合规性

Amazon EKS 通过多个合规性计划认证,适用于受管制的敏感应用程序。Amazon EKS 现在还符合 SOCPCIISOFedRAMP-ModerateIRAPC5K-ISMSENS HighOSPARHITRUST CSFHIPAA 的要求。

负载均衡

Amazon EKS 支持使用 Elastic Load Balancing,包括 Application Load Balancer (ALB)、Network Load Balancer (NLB) 和 Classic Load Balancer。

您可以使用 Amazon EKS 集群运行标准 Kuberentes 集群负载平衡或任何 Kubernetes 支持的入口控制器。

无服务器计算

EKS 支持 AWS Fargate 使用无服务器计算运行 Kubernetes 应用程序。使用 Fargate,您无需预置和管理服务器,而且可以为每个应用程序指定资源并为其付费,并通过设计隔离应用程序来提高安全性。

混合部署

您可以使用 AWS Outposts 上的 EKS 运行对本地系统的延迟要求特别低的容器化应用程序。AWS Outposts 是一项完全托管服务,可将 AWS 基础设施、AWS 服务、API 和工具扩展到几乎所有连接的站点。使用 EKS on Outposts,您可以像管理云中的容器一样轻松地管理本地容器。

您可以将 AWS Local ZonesAWS Wavelength 中运行的节点附加到 EKS,由此,您可对 AWS 托管的边缘基础设施有更多选择。

Amazon EKS Distro 软件包包含 AWS 上的 Amazon EKS 所用的相同开源 Kubernetes 软件发行版本,以便在您自己的本地基础设施上使用。利用您自己的工具或利用 Amazon EKS Anywhere(将于 2021 年推出)管理 EKS Distro 集群。

使用 Amazon EKS Anywhere,您可以在本地轻松创建及操作 Kubernetes 集群(利用 Amazon EKS Distro 中的软件构建),包括在您自己的虚拟机 (VM) 和裸机服务器上。EKS Anywhere 为您免去了构建和支持自己的工具来管理 Kubernetes 集群的烦恼。EKS Anywhere 提供自动化工具来简化在您裸机、VMware vSphere 和云虚拟机等基础设施上创建、管理和操作集群的过程。这还包括具有默认日志记录、监控、网络和存储配置的云虚拟机。EKS Anywhere 为您提供了在生产环境中运行 Kubernetes 所需的额外工具和组件,如集群安装和生命周期管理、可观察性、集群备份和策略管理。

日志记录

Amazon EKS 集成了 AWS CloudTrail,可为 EKS 管理操作提供可见性,包括审计历史。您可以使用 CloudTrail 查看对 Amazon EKS API 的 API 调用。Amazon EKS 还可向 Amazon CloudWatch 交付 Kubernetes 控制平面日志,以便进行分析、调试和审计。

经认证一致

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

托管的集群更新

Amazon EKS 使得将正在运行的集群更新到最新 Kubernetes 版本非常简单,无需管理更新过程。Kubernetes 版本更新可就地完成,因而您无需创建新集群或将应用程序迁移至新集群。

随着新的 Kubernetes 版本的发布和验证(供 Amazon EKS 使用),我们将在任何给定时间支持三个稳定的 Kubernetes 版本作为更新过程的一部分。您可以通过开发工具包、CLI 或 AWS 控制台启动新版本安装并查看动态更新状态。

高级工作负载支持

Amazon EKS 提供的优化型 Amazon Machine Image (AMI) 包含为启用了 GPU 的 P2P3 Amazon EC2 实例配置的 NVIDIA 驱动程序,从而可以方便地使用 Amazon EKS 来运行高级的计算型工作负载,包括机器学习 (ML)、Kubeflow、深度学习 (DL) 容器、高性能计算 (HPC)、财务分析和视频转码。

开源兼容性

Amazon EKS 与 Kubernetes 社区工具完全兼容,并支持常见的 Kubernetes 附加模块。这些包括用于为集群创建 DNS 服务的 CoreDNS 以及用于访问和管理 Amazon EKS 上集群的基于 Web 的 Kubernetes 控制面板 UI 和 kubectl 命令行工具。

有关更多信息,请参阅 Kubernetes 社区工具 GitHub 页面。

Amazon EKS 定价

访问定价页面
准备好开始构建了吗?
开始使用 Amazon EKS
还有更多问题?
联系我们