Я пытаюсь автоматизировать развертывание проекта в ecs_cluster в ansible.
Я создал допустимые определения задач и службы для указанного кластера, но я пытаюсь подключить ec2_asg к этому. Таким образом, не позволяя кластеру создавать и управлять новыми задачами.
- hosts: localhost
vars:
aws_access_key: #key
aws_secret_key: #key
region: #region
tasks:
- name: Create task definition
ecs_taskdefinition:
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
family: test
launch_type: EC2
network_mode: host
containers:
- name: test
essential: true
image: "nginx"
portMappings:
- containerPort: 80
hostPort: 80
cpu: 2048
memory: 3884
state: present
- name: Create cluster
ecs_cluster:
name: test
state: present
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
- name: Create service
ecs_service:
state: present
name: test
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
cluster: test
task_definition: test
desired_count: 1
deployment_configuration:
minimum_healthy_percent: 75
maximum_percent: 150
#placement_constraints:
# - type: memberOf
# expression: 'attribute:flavor==test'
#placement_strategy:
# - type: binpack
# field: memory
- name: Create launch config
ec2_lc:
image_id: ami-0917237b4e71c5759
instance_type: t3.medium
name: test launch config
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
- name: Create scaling group
ec2_asg:
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
launch_config_name: test launch config
name: test scaling group
state: present
min_size: 1
max_size: 1
- name: Create scaling policy
ec2_scaling_policy:
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
asg_name: test scaling group
name: test
state: present
adjustment_type: "ChangeInCapacity"
scaling_adjustment: -1
min_adjustment_step: 1
- name: Wait for register
ecs_cluster:
aws_access_key: "{{aws_access_key}}"
aws_secret_key: "{{aws_secret_key}}"
region: "{{region}}"
name: test
state: has_instances
delay: 10
repeat: 10
register: task_output
Есть ли что-то очевидное, что я упускаю в документации к Playbook? Или мне нужно каким-то образом повлиять на экземпляры, созданные группой автоматического масштабирования, чтобы вместо этого присоединить их к кластеру?