243°

AWS 使用AWS CLI 创建ECS集群

先觉条件:

  1. 安装配置AWS CLI
  2. ECS的基本设置
  3. aws用户有运行的ECS的IAM权限
  4. 已经有VPC和安全组

创建集群

aws ecs create-cluster --cluster-name 集群名字

输出:

{ "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" } }

注册任务定义

必须先注册任务定义才能在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"
}

以下是fargate类型受支持的范围:

以下是EC2类型受支持的范围:

则受支持的值介于 128 个 CPU 单元(0.125 个 vCPU)和 10240 个 CPU 单元(10 个 vCPU)之间。

有两种方式传递JSON文件到 AWS CLI 。

第一种:将任务定义JSON保存成文件,使用选项传递

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 服务名称

本文由【守护-创造】发布于开源中国,原文链接:https://my.oschina.net/u/4115857/blog/3045519

全部评论: 0

    我有话说: