aws ecs create-cluster --cluster-name 集羣名字nginx
輸出:web
{ "cluster": { "status": "ACTIVE", "statistics": [], "clusterName": "fargate-cluster", "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "clusterArn": "arn:aws:ecs:region
:aws_account_id
:cluster/fargate-cluster" } }json
必須先註冊任務定義才能在ECS集羣上運行任務,如下是註冊任務定義的一個fargate啓動類型的示例文件:安全
{
"family": "sample-fargate",
"taskRoleArn": "ecs TaskExecutionRole",
"executionRoleArn": "ecs TaskExecutionRole",
"networkMode": "awsvpc",
"containerDefinitions": [
{
"name": "test_nginxweb",
"cpu": 256,
"memory": 512,
"image": "023663056036.dkr.ecr.ap-northeast-1.amazonaws.com/test-qulp:nginx_web0.0",
"portMappings": [
{
"containerPort": 80,
"hostPort": 80,
"protocol": "tcp"
}
],
"essential": true
}
],
"requiresCompatibilities": [
"FARGATE"
],
"cpu": "256",
"memory": "512"
}app
如下是fargate類型受支持的範圍:tcp
如下是EC2類型受支持的範圍:ui
則受支持的值介於 128
個 CPU 單元(0.125
個 vCPU)和 10240
個 CPU 單元(10
個 vCPU)之間。spa
有兩種方式傳遞JSON文件到 AWS CLI 。命令行
第一種:將任務定義JSON保存成文件,使用選項傳遞code
aws ecs register-task-definition --cli-input-json file://JSON文件的位置
第二種:直接在AWS CLI命令行中使用引號傳遞JSON字符串。
註冊任務定義後的返回:
aws ecs list-task-definitions
aws ecs create-service --cluster 集羣名字 --service-name 服務名字 --task-definition 任務定義:1 --desired-count (服務的數量) --launch-type (啓動類型)"FARGATE" --network-configuration "awsvpcConfiguration={subnets=[subnet-abcd1234],securityGroups=[sg-abcd1234],assignPublicIp=ENABLED}"
起中的子網和安全組都是須要本身以前建立的。
aws ecs list-services --cluster 集羣名字
aws ecs describe-services --cluster 集羣名稱 --services 服務名稱