ECS容器代理运行于容器实例,它负责启动基于ECS的容器。代理本身在Docker容器(在Docker Hub中可用)中运行,并与在实例上运行的Docker daemon通信。
在谈论集群或容器服务时,“调度”是指将任务分配给实例的过程。容器服务为您提供三种调度选项:
自动 - RunTask将使用随机置放群组在集群上启动任务(由任务定义指定)。
手动 - StartTask将在指定的容器实例(或实例)上启动任务(再次,由任务定义指定)。
自定义 - 您可以使用ListContainerInstances和DescribeContainerInstances函数收集有关集群中可用资源的信息,然后调用StartTask启动任务。当进行到这里,实际上,RunTask将实现您的创建过程
ECS操作
首先,安装和配置AWS CLI的预览版本。然后,创建一个IAM角色和一个VPC,并设置创建的集群(在美国东部(弗吉利亚北部)),运行以下命令:
Bash
$ aws ecs create-cluster --cluster-name MyCluster --profile jbarr-cli
该命令以JSON格式返回有关新集群的信息:
JavaScript
{
"cluster": {
"clusterName": "MyCluster",
"status": "ACTIVE",
"clusterArn": "arn:aws:ecs:us-east-1:348414629041:cluster/MyCluster"
}}
然后使用ECS启用的AMI在VPC中启动一些新的实例,选择新的IAM角色(EC2)作为启动过程的一部分:
这里您也可以编辑实例的user data,使实例启动到您的集群中:
启动实例后,您可以看到集群的一部分:
Bash
$ aws ecs list-container-instances --cluster MyCluster --profile jbarr-cli
JavaScript
{
"containerInstanceArns": [
"arn:aws:ecs:us-east-1:348414629041:container-instance/4cf62484-da62-49a5-ad32-2015286a6d39",
"arn:aws:ecs:us-east-1:348414629041:container-instance/be672053-0ff8-4478-b136-7fae9225e493"
]}
选择一个实例并查询,了解更多有关已注册和可用的CPU和内存资源:
Bash
$ aws ecs describe-container-instances --cluster MyCluster \
--container-instances arn:aws:ecs:us-east-1:348414629041:container-instance/4cf62484-da62-49a5-ad32-2015286a6d39 \
--profile jbarr-cli
以下是返回数据的摘录:
JavaScript
{
"registeredResources": [
{
"integerValue": 1024,
"longValue": 0,
"type": "INTEGER",
"name": "CPU",
"doubleValue": 0.0
},
{
"integerValue": 3768,
"longValue": 0,
"type": "INTEGER",
"name": "MEMORY",
"doubleValue": 0.0
}
]}
按照“容器服务开发人员指南”中的说明,创建一个简单的任务定义并注册:
Bash
$ aws ecs register-task-definition --family sleep360 \
--container-definitions file://$HOME/tmp/task.json \
--profile jbarr-cli
然后跑了10个任务的副本:
Bash
aws ecs run-task --cluster MyCluster --task-definition sleep360:1 --count 10 --profile jbarr-cli
为您列出了正在运行的任务:
Bash
$ aws ecs list-tasks --cluster MyCluster --profile jbarr-cli
所见如下:
JavaScript
{
"taskArns": [
"arn:aws:ecs:us-east-1:348414629041:task/0c949733-862c-4979-b5bd-d4f8b474c58e",
"arn:aws:ecs:us-east-1:348414629041:task/3ababde9-08dc-4fc9-b005-be5723d1d495",
"arn:aws:ecs:us-east-1:348414629041:task/602e13d2-681e-4c87-a1d9-74c139f7335e",
"arn:aws:ecs:us-east-1:348414629041:task/6d072f42-75da-4a84-8b68-4841fdfe600d",
"arn:aws:ecs:us-east-1:348414629041:task/6da6c947-8071-4111-9d31-b87b8b93cc53",
"arn:aws:ecs:us-east-1:348414629041:task/6ec9828a-cbfb-4a39-b491-7b7705113ad2",
"arn:aws:ecs:us-east-1:348414629041:task/87e29ab2-34be-4495-988b-c93ac1f8b77c",
"arn:aws:ecs:us-east-1:348414629041:task/ad4fc3cc-7e80-4681-b858-68ff46716fe5",
"arn:aws:ecs:us-east-1:348414629041:task/cdd221ea-837c-4108-9577-2e4f53376c12",
"arn:aws:ecs:us-east-1:348414629041:task/eab79263-087f-43d3-ae4c-1a89678c7101"
]}
CloudFormation创建了 ECS快速入门模板,以帮助您更快地启动和运行ECS。模板中创建了一个IAM角色和一个角色的实例配置文件,角色提供允许ECS代理与ECS通信的权限。该模板使用“角色”启动实例,并返回可用于访问实例的SSH命令。您可以将实例启动到现有集群,也可以使用名称“default”创建(如有必要)默认集群,实例始终在默认VPC内启动。
ECS服务即将登陆AWS中国区,届时您可以亲自体验



长按二维码 关注我们
光环有云(北京)网络服务有限公司,简称光环有云,为北京光环新网科技股份有限公司和UNITEDSTACK(北京)科技有限公司于2016年8月共同成立的合资公司
光环有云作为AWS APN合作伙伴,旨在为广大企业客户打造领先的、适合中国市场需求的基于AWS技术的云服务产品和服务,并以专业的培训、咨询服务和整体的DevOps体系、帮助客户无缝地构建和使用基于AWS技术的云服务产品和混合云资源,加速客户向云端迁移,实现企业的数字化转型。
联系我们:400-888-5332
咨询邮箱:support@light2cloud.com
官方网址:www.light2cloud.com

