托管的 Kubernetes 集群

Amazon Elastic Kubernetes Service (EKS) 是一项托管 Kubernetes 服务,让您能够轻松在 AWS 上和本地运行 Kubernetes。Amazon EKS 经认证与 Kubernetes 一致,因此运行于上游 Kubernetes 的现有应用程序可与 Amazon EKS 兼容。

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

EKS 可帮助您在 Amazon EC2 和 AWS Fargate 上运行 Kubernetes 应用程序,这可为容器提供无服务器计算。Fargate 可为您的容器自动预置和扩展计算。利用 Fargate,您只需为应用程序运行所需的资源付费。在 Fargate 上运行的每个 Pod 都是通过设计实现隔离,可改善应用程序安全性。

借助 Amazon EKS,您可以利用 AWS 基础设施的完整性能、规模、可靠性和可用性,以及与各种 AWS 联网和安全服务的集成,例如用于负载分配的 Application Load Balancer、与基于角色的访问控制 (RBAC) 集成的 Identity Access Manager (IAM) 和用于 Pod 联网的 Virtual Private Cloud (VPC)。

托管的控制平面

Amazon EKS 提供的 Kubernetes 控制平面不仅可扩展且高度可用,还能跨多个 AWS 可用区运行。Amazon EKS 可自动管理每个集群的 Kubernetes API 服务器和 etcd 持久层的可用性和可扩展性。Amazon EKS 可跨三个可用区运行 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 优化或自定义的最新 AMI 来运行 EC2 实例,同时更新和终止会以适当速度耗尽的节点,以确保应用程序保持可用。

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

eksctl 是一个开源的命令行工具,可以在几分钟内启动并运行 Amazon EKS。执行 eksctl create cluster 将创建一个 Amazon 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 控制器来创建连接到网格的新服务、定义流量路由并配置诸如加密等安全功能。此外,它还允许您在 AWS Cloud Map 中自动注册 Kubernetes pod 以发现服务。App Mesh 将指标、日志和跟踪导出至在提供的 ​Envoy 引导配置中指定的终端节点。App Mesh 提供了一个 API,用于在支持网格的微服务之间配置流量路由、断路、重试和其他控制。App Mesh mTLS 有助于加密服务之间的所有请求,即使此类请求处于您的私有网络中。此外,您可以添加身份验证控制,以确保仅允许的服务可相互通信。

VPC 原生联网

您的 EKS 集群在 Amazon VPC 中运行,因此您可以使用自己的 VPC 安全组和网络 ACL。不与其他客户共享计算资源。这为您实现了高度隔离,并有助于您使用 Amazon EKS 构建高度安全可靠的应用程序。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 Zones 或 AWS Wavelength 中运行的节点附加到 EKS,由此,您可对 AWS 托管的边缘基础设施有更多选择。

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

Amazon EKS Anywhere(将于 2021 年推出)可让您在本地轻松创建及操作 Kubernetes 集群(利用 Amazon EKS Distro 中的软件构建),包括在您自己的虚拟机 (VM) 和裸机服务器上。EKS Anywhere 为您免去了构建和支持自己的工具来管理 Kubernetes 集群的烦恼。 EKS Anywhere 提供了自动化工具,该工具能够简化在裸机、vSphere 和云虚拟机等基础设施上的集群创建、管理和操作过程,并具有用于日志记录、监控、联网和存储的默认配置,此外还提供在生产中运行 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 系统映像 (AMI)包含为启用了 GPU 的 P2P3 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
还有更多问题?
联系我们