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 string | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key string | Секретный ключ 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] | |
| debug_botocore_endpoint_logs boolean добавлен в 2.8 |
| Использование регистрирующего инструмента botocore.endpoint для разбора уникальных (а не общих) API-вызовов "resource:action", выполненных во время задачи, выводя результат в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, выполненного во время выполнения сценария. Переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| ec2_url string | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион требуется. Должен быть указан для всех других модулей, если регион не используется. Если не задано, используется значение переменной среды EC2_URL, если таковая имеется. | |
| execution_role_arn - добавлен в 2.7 | Amazon Resource Name (ARN) роли выполнения задачи, которую могут принять агент контейнера Amazon ECS и демо Docker. | |
| family - | Имя, которое будет дано определению задачи | |
| force_create boolean добавлен в 2.5 |
| Всегда создавать новое определение задачи |
| launch_type - добавлен в 2.7 |
| Тип запуска, на котором нужно запустить задачу |
| memory - добавлен в 2.7 | Объем памяти (в МБ), используемый задачей. При использовании типа запуска EC2 это поле необязательно и может принимать любое значение. При использовании типа запуска Fargate это поле является обязательным и ограничено значениями для cpu | |
| network_mode - добавлен в 2.3 |
| Режим сети Docker для использования контейнерами в задаче. awsvpc режим был добавлен в Ansible 2.5 |
| profile string | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region string | AWS регион для использования. Если не указан, используется значение переменной среды AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| revision - | Номер ревизии для определения задачи | |
| security_token string | AWS STS security token. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| state - / обязательно |
| Указывает, должно ли определение задачи существовать или быть удалено |
| task_role_arn - добавлен в 2.3 | Amazon Resource Name (ARN) роли IAM, которую могут принять контейнеры в этой задаче. Все контейнеры в этой задаче получают разрешения, указанные в этой роли. | |
| validate_certs boolean |
| При установке в "нет", сертификаты 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/test-cluster-taskdef
awslogs-region: us-west-2
awslogs-stream-prefix: ecs
- 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: 1024
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: 1024
state: present
network_mode: awsvpc
Значения возврата
Общие значения возврата описаны здесь, ниже перечислены поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| taskdefinition словарь | всегда | отображение входных параметров |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.8/modules/ecs_taskdefinition_module.html