​AWS无服务器容器平台Fargate是怎么来的?

前不久,AWS宣布Amazon Elastic Kubernetes Service(EKS)on AWS Fargate GA。通过这种集成,AWS客户可以在无节点、无服务器的环境中部署Kubernetes pod。任何运行Kubernetes version 1.14的Amazon EKS集群都可以配置使用Fargate。              

亚马逊并不是第一个也不会是最后一个向其云基础设施添加Serverless Container Platform(SCP)支持的供应商。2017年,微软推出了Azure Container Instances(ACI)作为无服务器容器环境,后来扩展到Virtual Kubelet项目。今年早些时候,谷歌以同样的目标推出了Cloud Run on GCP。与Fargate一样,Cloud Run可以在现有Kubernetes(GKE)集群的上下文中运行。

每个无服务器容器平台的目标都是相同的——带来你的容器镜像,然后带着一个端点离开。这让我们想起了第一代PaaS产品,如Cloud Foundry、Heroku和Engine Yard,它们期望源代码作为输入,而面向公众的URL作为输出。SCP和PAA的关键区别在于输入容器镜像还是tarball。

Amazon Elastic Container Service(ECS)标志着AWS进入容器基础设施市场。2014年这项服务被宣布时,Kubernetes还没有出现,这迫使AWS从头开始构建一个容器编排平台。ECS以与Docker-Compose兼容的Elastic Beanstalk为模型。该服务充当运行容器的EC2实例组的编排层。

由于ECS是一个容器编排平台,与Kubernetes非常相似,它需要一个Docker容器镜像,在EC2实例中调度该镜像,并根据需要缩放容器。容器镜像包装在ECS任务定义中,该任务定义声明资源需求,如CPU单元、内存、网络端口等。ECS服务定义将扩展任务以满足所需的实例数。它还将任务实例连接到负载均衡器,以便在运行的实例之间路由流量。

我们可以看到,ECS任务定义非常类似于Kubernetes pod,而服务定义则类似于Kubernetes部署。

但是,与Kubernetes不同的是ECS集群的概念。在ECS中,集群是任务和服务的独立逻辑边界。它不同于Kubernetes集群,后者是主节点和工作节点的集合。              

在启动任务和服务之前,用户需要创建一个由一个或多个EC2实例组成的集群。参与集群的每个EC2实例都运行一个代理来与ECS控制平面对话。把这个代理看作运行在Kubernetes集群的每个节点中的Kubelet。

Amazon ECS希望用户处理底层EC2基础设施。他们需要知道很多细节,比如实例类型、AMI、EBS大小、VPC子网、安全组等。在调度集群中的第一个ECS任务之前,有相当多的基础设施管道需要完成。这主要是因为ECS处理EC2的方式——EC2只在任务和服务编排级别,而不是配置和扩展机群。  

            

2017年,亚马逊推出了AWS Fargate,这是一个用于部署和管理容器的计算引擎,无需管理EC2基础设施。AWS Fargate成为在Amazon ECS上启动容器化工作负载的选项之一。

Fargate的核心是让ECS用户专注于任务和服务定义,而不是管理集群基础设施。选择Fargate部署选项的ECS用户永远不需要处理EC2。

在幕后,Fargate仍然使用一个或多个EC2实例来运行容器。实例配置映射到任务定义中提到的资源需求。AWS Fargate用户看不到EC2实例,因为他们不在自己的帐户中运行。相反,Amazon提供EC2实例,在一个专用的私有VPC中运行Fargate任务(外部世界无法访问这个VPC)。如果服务定义通过ELB或ALB公开,那么Fargate的子网连接到与负载均衡器关联的Elastic Network Interface(ENI)。

另一个有趣的事实是,每个Fargate任务只在一个EC2实例中运行。Amazon不会在同一个EC2实例上调度多个任务,即使它们共享相同的定义。如果一个任务定义有多个容器,那么它们都位于同一个EC2实例中。运行Fargate工作负载的EC2实例的AMI对于容器化工作负载是高度优化的。

总之,Fargate是ECS之上的类似PaaS的层,它抽象了基础设施,使用户能够专注于应用程序的期望状态。

原文链接:

https://thenewstack.io/the-evolution-of-serverless-container-platform-on-aws-fargate/

获取更多开源云技术资讯&大咖交流&免费活动,欢迎添加开源云中文社区小助手,备注开源云!

(长按识别二维码添加)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值