目录
阅读时间: 5 分钟
简介
首先,我们将讨论Fargate,Fargate的需求,它是如何工作的,当你处理Fargate时,你必须知道一些关键的概念,最后我们将看到如何创建任务定义,集群和服务的演示。
AWS Fargate
这是一个亚马逊弹性容器服务(ECS)的计算引擎,使你能够运行容器,而无需供应、配置和扩展虚拟机的集群。有了亚马逊网络服务Fargate,不再需要选择服务器种类,决定是否扩展你的集群,或优化集群包装。
当你用Fargate启动类型或Fargate容量提供者运行你的亚马逊弹性容器服务任务和服务时,你将你的应用程序打包在容器中,指定操作系统、中央处理单元和内存要求,定义网络和身份与访问管理策略,并启动应用程序。每个Fargate任务都有自己的隔离边界,不会与另一个任务共享底层内核、中央处理单元资源、内存资源或弹性网络接口。
AWSFargate解决了哪些问题 ?
Fargate解决的关键问题是管理容器托管的基础设施的困难。
部署和管理容器化应用程序的大多数其他问题已经被现代容器技术所解决。容器使用持续集成/持续交付(CI/CD)技术自动构建。容器注册处允许你以更有效的方式处理容器镜像。Kubernetes允许你协调容器实例,负载平衡,并自动进行其他协调操作。
然而,标准容器平台不做的一件事是为你设置主机基础设施,或随着你的负载波动而扩大该基础设施。
你可以使用Fargate来部署容器,而不必担心底层基础设施的问题。当你把容器镜像加载到EKS或ECS时,Fargate会执行你的容器镜像。基础设施可以为你自动控制。
Fargate的必要性
对于大多数用户来说,Fargate是一种方便的方法,可以减少在亚马逊云中操作容器所需的工作量。然而,对你的主机基础设施的控制是一个重要的权衡。如果你想完全控制你的基础设施的配置和扩展方式,请在标准模式下使用ECS或EKS。作为一种选择,如果你想要一些管理基础设施的帮助,但又不想走到Fargate那么远,可以考虑自动缩放或管理节点组来代替。
AWS的Farget是如何工作的?
启动容器的简单步骤
- 构建一个容器镜像--在这个容器镜像中,你以这样的方式构建它,使其适合应用,然后你将这个容器镜像存储在一个注册表中,要么你有docker hub,要么你可以使用弹性容器注册表,从这个注册表中你可以随时下载镜像并在集群中运行。
- 选择容器编排--应该是亚马逊ECS或亚马逊EKS的kubernates,你已经选择了一个合适的容器编排服务。你需要创建一个集群,以便你存储所有的容器和资源,你已经分配给你的应用程序,这是你必须做出选择,选择EC2或Fargate,所以我们将在这里选择Fargate。
- 现在启动一个容器,Fargate运行你的容器并为你管理所有的处理基础设施和集群。
AWS fargate的组成部分
- 集群。亚马逊弹性容器服务集群是一个任务或服务的逻辑分组。你可以使用集群来隔离你的应用程序。
2.2.任务定义。组成你的应用程序的一个或多个容器,在一个称为任务定义的文本文件中描述。它是JSON格式的。你可以用它来描述最多 10 个容器。
3.3.任务。在一个集群内,任务是任务描述的实例化。一旦你在Amazon Elastic Container内为你的应用建立了任务描述,就可以指定在你的集群上执行的任务数量。
4.4.服务。你可以使用Amazon Elastic Container Service服务,在Amazon Elastic Container Service集群中同时运行和维护你想要的任务数量。
5.容器定义。除了容器图像和容器级别的设置(例如:容器图像、端口、注册表、传递容器的环境变量等),什么都没有。
如何创建任务定义、集群和服务
先决条件
首先,完成以下先决条件。
- 创建一个AWS账户。
- 登录到AWS账户。
完成上述工作后,进入搜索栏,搜索ECS,然后点击ECS。
其次。
为你的容器选择一个镜像,以便快速入门,并定义要使用的容器镜像。
我选择的是nginx。
第三步:配置任务定义:first-run-task-definition
现在点击下一步按钮
第4步:现在定义你的服务。
点击下一步按钮。
第5步:点击创建按钮。
我们可以查看服务
第6步:现在移动到集群,然后我们可以看到服务选项卡,在这里我们将看到nginx-service,现在移动到nginx-service,它已经被创建,所以如果你将看到这里的任务,你可以看到,有一个任务被创建,这个任务将有nginx的最新镜像作为一个容器运行。
最后,复制公共IP地址,并将其粘贴到浏览器的一个新标签中。
最后,我们可以看到页面是可以访问的。
参考资料
docs.aws.amazon.com/AmazonECS/l…
总结
所以,在这篇博客中,我们看到了AWS Fargate,AWS Fargate的需求,它的组件,它是如何工作的,如何创建任务定义,集群和服务。