Amazon Elastic Kubernetes Service (EKS) 是一种托管的 Kubernetes 服务,使您可以轻松地在 Amazon Web Services 运行 Kubernetes,而无需安装、操作和维护自己的 Kubernetes 控制平面。Amazon EKS 已通过 Kubernetes 认证,因此在上游 Kubernetes 上运行的现有应用程序与 Amazon EKS 兼容。
Amazon EKS 自动管理 Kubernetes 控制平面节点的可用性和可扩展性,这些节点负责启动和停止容器、在虚拟机上调度容器、存储集群数据以及其他任务。Amazon EKS 会自动检测并替换每个集群的运行状况不佳的控制平面节点。
Amazon EKS 允许您在 Amazon Elastic Compute Cloud (Amazon EC2) 和 Amazon Fargate 上运行 Kubernetes 应用程序。借助 Amazon EKS,您可以利用 Amazon Web Services 平台的卓越性能、可扩展性、可靠性和可用性,以及与 Amazon Web Services 联网和安全服务(例如,用于负载分发的 Application Load Balancer、用于基于角色的访问控制的 IAM 和用于容器组联网的 VPC)的集成。
托管的 Kubernetes 控制平面
Amazon EKS 提供了一个可扩展且高度可用的控制平面,该控制平面可以跨多个 Amazon Web Services 可用区运行。Amazon EKS 服务会自动管理每个集群的 Kubernetes API 服务器和 etcd 持久层的可用性和可扩展性。Amazon EKS 跨三个可用区运行 Kubernetes 控制平面以确保高可用性,并会自动检测和替换运行状况不佳的主节点。
开源 CLI
EKSCTL 是一种开源命令行工具,使您能够在几分钟内启动并运行 Amazon EKS。执行 eksctl create cluster 将会创建 Amazon Identity and Access Management (IAM) 角色,然后会创建基本 Amazon VPC 来管理对 Amazon EKS 控制平面的网络访问。控制平面激活后,EKSCTL 可以设置一个节点组来添加工作节点实例。预先配置的 kubeconfig 将提供对集群的访问。
联网和安全性
借助 Amazon EKS,您可以轻松地保护 Kubernetes 集群,同时提供高级功能并集成 Amazon Web Services 服务和技术合作伙伴解决方案。例如,IAM 提供精细访问控制,Amazon VPC 阻止其他客户使用您的 Kubernetes 集群。
EKS 容器组身份
EKS 容器组身份简化了客户在 EKS 集群上设置应用程序,以访问各种 Amazon Web Services 服务所需的工作。EKS 集群管理员可通过简化的工作流程获取身份和访问管理(IAM)凭证,这是验证 Kubernetes 应用程序访问 S3 存储桶、DynamoDB 表等资源所需的凭证。EKS 容器组身份可轻松跨多个集群使用 IAM 角色,并通过支持跨 IAM 角色重用策略来简化 IAM 策略管理。
VPC 支持
您的 EKS 集群在 Amazon VPC 中运行,从而让可以使用您自己的 VPC 安全组和网络 ACL。不与其他客户共享计算资源。这为您提供了高级别的隔离,并能帮助您使用 Amazon EKS 构建高度安全可靠的应用程序。EKS 使用 Amazon VPC CNI 来允许 Kubernetes Pod 接收来自 VPC 的 IP 地址。
IAM 身份验证
Amazon EKS 通过与 Heptio 合作,将 Kubernetes RBAC(Kubernetes 基于本机角色的访问控制系统)与 IAM 身份验证相集成。您可以将 RBAC 角色直接分配给每个 IAM 实体,从而精细地控制对 Kubernetes 主节点的访问权限。
负载均衡
Amazon EKS 支持使用弹性负载均衡,包括 Application Load Balancer (ALB)、Network Load Balancer (NLB) 和 Classic Load Balancer
您可以使用 Amazon EKS 集群运行标准的 Kubernetes 集群负载均衡或任何支持 Kubernetes 的入口控制器。
无服务器计算
EKS 支持 Amazon Fargate 使用无服务器计算来运行 Kubernetes 应用程序。Fargate 无需预置和管理服务器,允许您为每个应用程序指定资源并为其付费,并通过设计实现应用程序隔离来提高安全性。
日志记录
Amazon EKS 集成了 Amazon CloudTrail,可提供集群和用户活动的可见性和审计历史记录。您可以使用 CloudTrail 查看对 Amazon EKS API 的 API 调用。
认证合格
Amazon EKS 运行上游 Kubernetes,并且经认证可与 Kubernetes 兼容,因此您可以使用 Kubernetes 社区提供的所有现有插件和工具。运行在 Amazon EKS 上的应用程序与运行在所有标准 Kubernetes 环境中(无论是运行在本地数据中心还是公有云中)的应用程序完全兼容。这意味着您可以轻松地将所有标准 Kubernetes 应用程序迁移到 Amazon EKS,而不需要重构代码。
托管更新
Amazon EKS 让您可以轻松地将运行中的集群更新为最新的 Kubernetes 版本,而不需要管理更新过程。Kubernetes 版本更新已就地完成,无需创建新集群或将应用程序迁移到新集群
您可以启动新版本的安装,并通过 SDK、CLI 或 Amazon Web Services 控制台获取实时更新状态的详细信息。
支持高级工作负载
Amazon EKS 提供了一个优化的 Amazon Machine Image (AMI),其中包括为支持 GPU 的 P2 和 P3 EC2 实例配置的 NVIDIA 驱动程序。这使得您可以轻松地使用 Amazon EKS 运行计算高级工作负载,包括机器学习 (ML)、高性能计算 (HPC)、金融分析和视频转码。
使用开源工具
Amazon EKS 与 Kubernetes 社区工具完全兼容,并支持流行的 Kubernetes 附加组件。其中包括用于为您的集群创建 DNS 服务的 KubeDNS,以及用于在 Amazon EKS 上访问和管理集群的 Kubernetes 控制面板基于 Web 的用户界面和 kubectl 命令行工具。
有关更多信息,请参阅 Kubernetes 社区工具 GitHub 页面