跳至主要内容

Amazon EKS 文档

概述

Amazon Elastic Kubernetes Service(Amazon EKS)是一项托管 Kubernetes 服务,使您能够轻松在亚马逊云科技和本地运行 Kubernetes。运行于上游 Kubernetes 的现有应用程序可与 Amazon EKS 兼容。

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

Amazon EKS 可让您在 Amazon EC2 和 Amazon Fargate 上运行 Kubernetes 应用程序。Fargate 旨在为容器提供和缩放计算。

借助 Amazon EKS,您可以利用亚马逊云科技基础设施,并与亚马逊云科技联网和安全服务集成,例如用于负载分配的 Application Load Balancer(ALB)、与基于角色的访问控制(RBAC)集成的 Identity and Access Management(IAM)以及用于 Pod 联网的 Virtual Private Cloud(VPC)。

Amazon ECS 的主要功能

  • 默认带有 Amazon Fargate 的无服务器架构:Amazon Fargate 已内置到 Amazon ECS 中,可帮助您管理服务器、处理容量规划并隔离容器工作负载。您只需定义应用程序的需求,在控制台或命令行界面(CLI)中选择 Fargate 作为启动类型,Fargate 便会帮助您处理运行容器所需的扩展和基础设施管理工作。

 

  • Amazon ECS Anywhere:通过 ECS Anywhere,您可以使用 Amazon ECS 控制台和操作员工具来管理本地部署容器工作负载,以便在基于容器的应用程序中获得一致的体验。Amazon Systems Manager(SSM)集成旨在在您的本地硬件和 Amazon 控制面板之间建立信任。

 

  • 通过设计实现的安全性和隔离:Amazon ECS 设计为与您已经信任的安全、身份以及管理和治理工具原生集成,可帮助您快速、成功地投入生产。您可以为每个容器分配精细权限,从而在构建应用程序时实现高级别的隔离。 

 

  • 自主控制面板操作:Amazon ECS 是一项完全托管的容器编排服务,其设计内置了亚马逊云科技配置和运维最佳实践,而且没有需要管理的控制面板、节点或附加组件。它旨在与亚马逊云科技和第三方工具原生集成,让团队能够专注于构建应用程序,而无需在环境方面投入精力。

Amazon ECS的其他功能

开发 

Docker 支持 

Amazon ECS 支持 Docker 并使您能够运行和管理 Docker 容器。它甚至能够集成到 Docker Compose CLI,以使您能够定义并运行多容器应用程序。您在本地打包为容器的应用程序将在 Amazon ECS 上部署和运行,无需进行配置更改。  

Windows 容器兼容性 

Amazon ECS 支持管理 Windows 容器。针对 Amazon ECS 进行优化的 Windows Amazon Machine Image(AMI)可提供增强的实例和容器启动时性能,以及对 CPU、内存使用率和预留指标的可见性。   

Amazon Copilot 

Amazon Copilot CLI 是一种工具,旨在帮助开发人员在 Amazon ECS 和 Amazon Fargate 上构建、发布和运行生产就绪型容器化应用程序。Copilot 采用了从基础设施至持续交付的优秀实践,并且以命令行的方式提供给客户。您还可以通过查看服务的状态或日志、扩展或缩小生产服务,以及启动一个用于自动化测试的新环境来监控服务的运行状况。下载 Amazon Copilot。    

存储库支持 

Amazon ECS 可用于任何第三方托管的 Docker 映像存储库或可访问的私有 Docker 注册表,例如 Docker Hub 和 Amazon Elastic Container Registry(ECR)。您需要在任务定义中指定存储库,Amazon ECS 旨在为您的应用程序检索适当的映像。   

管理

任务定义 

Amazon ECS 使您可以通过名为 “任务定义” 的 JSON 模板来定义任务。在任务定义中,您可以指定您的任务需要的一个或多个容器,包括 Docker 存储库和映像、内存和 CPU 要求、共享数据容量以及容器互相链接的方式。您可以从您在该服务中注册的单个任务定义文件中启动任意数量的任务。任务定义文件还可以让您对应用程序规格进行版本控制。    

编程控制 

Amazon ECS 为您提供了一组 API 操作,使您能够集成和扩展服务。使用 API 操作,您可以创建和删除集群、注册和注销任务、启动和终止 Docker 容器,并提供集群状态及其实例的相关详细信息。您还可以使用 Amazon CloudFormation 预置 Amazon ECS 集群、注册任务定义和安排容器。    

容器部署 

Amazon ECS 可让您可以轻松将容器更新到新的版本。您可以上传新版本的应用程序任务定义,Amazon ECS 计划程序将自动使用更新后的映像启动新的容器并停止运行着旧版本的容器。Amazon ECS 会从关联的 Application Load Balancer 注册和注销您的容器。   

蓝 / 绿部署 

使用 Amazon CodeDeploy 进行蓝 / 绿部署可帮助您在应用程序更新期间缩短停机时间。您可以启动新版本的 Amazon ECS 服务以及旧版本,并且在重新路由流量之前测试新版本。您还可以监控部署流程并且在存在问题的情况下回滚。   

容器自动恢复 

Amazon ECS 旨在恢复运行状况不佳的容器,以确保您拥有支持应用程序所需数量的容器。 

容量提供程序 

容量提供程序使您可以就容器化工作负载如何在不同类型的计算容量上运行定义灵活的规则,并管理容量的扩展。容量提供程序与 Amazon EC2 和 Amazon Fargate 配合使用。当运行任务和服务时,您可以将它们拆分到多个容量提供程序中,以支持新的功能,例如在 Fargate 和 Fargate Spot 中按预定义的拆分百分比运行服务。   

存储 

Amazon Elastic File System(Amazon EFS)是一种可扩展、完全托管的弹性文件系统,可让您构建应用程序,并从您的 Amazon ECS 和 Amazon Fargate 部署中保留和共享数据和状态。您可以专注于您的应用程序,而无需专注于基础设施。详细了解持久性文件存储。 

计划和任务置放 

Amazon ECS 包括多项计划策略,这些策略可根据您的资源需求(如 CPU 或 RAM)和可用性要求将容器放入各个集群。借助可用的计划策略,您可以安排批量处理任务、长时间运行的应用程序和服务,以及守护进程。   

任务计划 

借助 Amazon ECS 任务计划,您可以运行执行工作而后停止的进程,如批量处理任务。任务计划可从任务队列自动启动任务,或者基于您定义的时间间隔启动任务。  

服务计划 

借助 Amazon ECS 服务计划,您可以运行无状态服务和应用程序。此计划策略可确保指定数量的任务持续运行,并在发生失败后重新启动。客户可以确保任务是在 Elastic Load Balancing 负载均衡器上注册的,并且能够执行用户为正在运行的任务定义的运行状况检查。 

守护计划 

Amazon ECS 守护计划会在 ECS 集群中选定的每个实例上自动运行相同的任务。旨在使您可轻松运行为诸如日志记录、监控或备份之类的服务提供常见管理功能的任务。  

任务置放 

Amazon ECS 允许用户自定义如何根据内置属性(例如实例类型、可用区或者用户定义的自定义属性)将任务放置到 Amazon EC2 实例的集群上。使用 “environment=production” 等属性来为资源添加标记,使用列出 API 操作来查找这些资源,并使用 RunTask 和 CreateService API 操作来安排针对这些资源的任务。  

通过 Amazon ECS,使用 bin pack 和 spread 等置放策略来进一步定义放置任务的位置。可将策略链接在一起以实现复杂的置放功能,而无需编写任何代码。  

联网 

服务发现 

Amazon ECS 与 Amazon Cloud Map 集成,使您的容器化服务可以彼此轻松发现并相互连接。Amazon Cloud Map 是一项云资源发现服务,您可以使用它为应用程序资源定义自定义名称。它可以提高应用程序的可用性,因为您的 Web 服务始终会发现这些动态变化的资源的位置。   

服务网格 

服务网格旨在通过标准化应用程序中的微服务通信方式来构建和运行复杂的微服务应用程序。Amazon App Mesh 可让您配置您的应用程序的一部分以实现端到端可见性和高可用性。  

任务联网 

Amazon ECS 支持 Docker 联网,并通过与 Amazon VPC 集成为容器提供隔离。  

负载均衡

Amazon ECS 与 Elastic Load Balancing 集成,旨在允许您使用 Application Load Balancer 或 Network Load Balancer 在容器之间分配流量。您只需指定要使用的任务定义和负载均衡器,Amazon ECS 会自动的从负载均衡器中添加和删除容器。在任务定义中指定动态端口,这可为安排在 EC2 实例上的容器提供未使用的端口。此外,使用基于路径的路由与多个服务共享一个负载均衡器。   

监控和日志记录 

监控 

Amazon ECS 通过 Amazon CloudWatch 为您的容器和集群提供监控功能。您可以监控正在运行的任务的 CPU 和内存使用率的平均值及总和,这些任务按任务定义、服务或集群进行分组。设置 CloudWatch 警报,在您的容器或集群需要扩大或缩小规模时提醒您。  

日志记录 

Amazon ECS 使您可以通过 Amazon CloudTrail 记录所有的 Amazon ECS API 调用并将日志文件发送给您。CloudTrail 为您提供从 Amazon 管理控制台、Amazon 开发工具包以及 Amazon CLI 进行 API 调用的历史记录。它支持安全分析、资源更改跟踪以及合规性审核。  

Amazon Config 

Amazon Config 与 Amazon ECS 集成,以使您能够了解您亚马逊云科技账户中的亚马逊云科技资源配置。使用 Amazon Config,用户可以监控和跟踪资源的配置方式、它们彼此之间的关系以及这些配置和关系如何随时间变化。
 

其他信息

有关服务控制、安全特性及功能的其他信息,包括有关存储、检索、修改、限制和删除数据的信息,请参见 https://docs.amazonaws.cn/。以上链接包含的信息不构成光环新网关于亚马逊云科技(北京区域)的客户协议或西云数据关于亚马逊云科技(宁夏区域)的客户协议的“文档”的一部分,也不构成您与光环新网或西云数据之间就您使用亚马逊云科技中国区域服务达成的其他协议的任何部分。