ecs_taskdefinition – регистрация определения задачи в ecs
Новое в версии 2.0.
Описание
- Регистрирует или аннулирует определения задач в Amazon Web Services (AWS) EC2 Container Service (ECS)
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- json
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| arn - | Arn описания задачи для удаления | |
| aws_access_key - | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| containers - | Список определений контейнеров | |
| cpu - добавлен в 2.7 | Количество единиц ЦП, используемых задачей. При использовании типа запуска EC2 это поле является необязательным и может принимать любое значение. При использовании типа запуска Fargate это поле является обязательным и необходимо использовать одно из [256, 512, 1024, 2048, 4096] | |
| ec2_url - | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. | |
| execution_role_arn - добавлен в 2.7 | Amazon Resource Name (ARN) роли выполнения задачи, которую могут принять Amazon ECS контейнерный агент и демо Docker. | |
| family - | Имя, которое будет присвоено определению задачи | |
| force_create - добавлен в 2.5 | Всегда создавать новое определение задачи | |
| launch_type - добавлен в 2.7 |
| Тип запуска, на котором нужно запустить задачу |
| memory - добавлен в 2.7 | Объем памяти (в MiB), используемый задачей. При использовании типа запуска EC2 это поле является необязательным и может принимать любое значение. При использовании типа запуска Fargate это поле является обязательным и ограничено ЦП | |
| network_mode - добавлен в 2.3 |
| Режим сети Docker для использования контейнерами в задаче. awsvpc режим был добавлен в Ansible 2.5 |
| profile - добавлен в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region - | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| revision - | Номер ревизии определения задачи | |
| security_token - добавлен в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - / требуется |
| Указывает, должен ли существовать или быть удалено определение задачи |
| task_role_arn - добавлен в 2.3 | Amazon Resource Name (ARN) роли IAM, которую могут принять контейнеры в этой задаче. Все контейнеры в этой задаче получают разрешения, указанные в этой роли. | |
| validate_certs boolean добавлен в 1.5 |
| Если установлено «нет», сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| volumes - | Список имен томов, которые должны быть подключены |
Примечания
Примечание
- Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONможно использовать для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto
Примеры
- name: Create task definition
ecs_taskdefinition:
containers:
- name: simple-app
cpu: 10
essential: true
image: "httpd:2.4"
memory: 300
mountPoints:
- containerPath: /usr/local/apache2/htdocs
sourceVolume: my-vol
portMappings:
- containerPort: 80
hostPort: 80
logConfiguration:
logDriver: awslogs
options:
awslogs-group: ecs
awslogs-region: us-west-2
- name: busybox
command:
- >
/bin/sh -c "while true; do echo '<html><head><title>Amazon ECS Sample App</title></head><body><div><h1>Amazon ECS Sample App</h1><h2>Congratulations!
</h2><p>Your application is now running on a container in Amazon ECS.</p>' > top; /bin/date > date ; echo '</div></body></html>' > bottom;
cat top date bottom > /usr/local/apache2/htdocs/index.html ; sleep 1; done"
cpu: 10
entryPoint:
- sh
- "-c"
essential: false
image: busybox
memory: 200
volumesFrom:
- sourceContainer: simple-app
volumes:
- name: my-vol
family: test-cluster-taskdef
state: present
register: task_output
- name: Create task definition
ecs_taskdefinition:
family: nginx
containers:
- name: nginx
essential: true
image: "nginx"
portMappings:
- containerPort: 8080
hostPort: 8080
cpu: 512
memory: 1GB
state: present
- name: Create task definition
ecs_taskdefinition:
family: nginx
containers:
- name: nginx
essential: true
image: "nginx"
portMappings:
- containerPort: 8080
hostPort: 8080
launch_type: FARGATE
cpu: 512
memory: 1GB
state: present
network_mode: awsvpc
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| taskdefinition словарь | всегда | отображение входных параметров |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Mark Chance (@Java1Guy)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/ecs_taskdefinition_module.html