ecs_service - создание, завершение, запуск или остановка службы в ecs
Новая версия 2.1.
Описание
- Создает или завершает службы ecs.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- json
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key | По умолчанию: None | Ключ доступа AWS. Если не задан, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key |
| aws_secret_key | По умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key |
| client_token | Уникальный, чувствительный к регистру идентификатор, который вы предоставляете для обеспечения идемпотентности запроса. Разрешается до 32 ASCII символов. | |
| cluster | Имя кластера, в котором существует служба | |
| delay | По умолчанию: 10 | Время ожидания, прежде чем проверить доступность службы |
| deployment_configuration (добавлено в 2.3) | Дополнительные параметры, управляющие deployment_configuration; формат '{"maximum_percent":<целое число>, "minimum_healthy_percent":<целое число>}' | |
| desired_count | Количество экземпляров службы. Этот параметр обязателен при state=present | |
| ec2_url | По умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если не используется регион. Если не задан, используется значение переменной среды EC2_URL, если таковая имеется. |
| load_balancers | Список ELB, определенных для этой службы | |
| name обязательно | Имя службы | |
| placement_constraints (добавлено в 2.4) | Ограничения размещения для задач в службе | |
| placement_strategy (добавлено в 2.4) | Объекты стратегии размещения для использования в вашей службе. Вы можете указать не более 5 правил стратегии на одну службу | |
| profile (добавлено в 1.6) | По умолчанию: None | Использует профиль 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 | |
| repeat | По умолчанию: 10 | Количество попыток проверки доступности службы |
| role | Имя или полный Amazon Resource Name (ARN) роли IAM, которая позволяет агенту Amazon ECS контейнера выполнять вызовы вашего балансировщика нагрузки от вашего имени. Этот параметр требуется только в случае использования балансировщика нагрузки с вашей службой. | |
| security_token (добавлено в 1.6) | По умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token |
| state обязательно |
| Желаемое состояние службы |
| task_definition | Определение задачи, которую будет выполнять служба. Этот параметр обязателен при state=present | |
| validate_certs (добавлено в 1.5) |
| При значении "no", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
Примечания
Примечание
- Указанная роль службы должна быть доступной (т.е. иметь отношения доверия для службы ecs, ecs.amazonaws.com)
- Подробная информация о параметрах и возвращаемых значениях доступна по адресу http://boto3.readthedocs.org/en/latest/reference/services/ecs.html
- Роль IAM должна быть предварительно создана
- Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета
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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в конфигурационном файле boto
Примеры
# Note: These examples do not set authentication details, see the AWS Guide for details.
- ecs_service:
state: present
name: console-test-service
cluster: new_cluster
task_definition: 'new_cluster-task:1'
desired_count: 0
# Basic provisioning example
- ecs_service:
name: default
state: present
cluster: new_cluster
# Simple example to delete
- ecs_service:
name: default
state: absent
cluster: new_cluster
# With custom deployment configuration (added in version 2.3), placement constraints and strategy (added in version 2.4)
- ecs_service:
state: present
name: test-service
cluster: test-cluster
task_definition: test-task-definition
desired_count: 3
deployment_configuration:
minimum_healthy_percent: 75
maximum_percent: 150
placement_constraints:
- type: memberOf
expression: 'attribute:flavor==test'
placement_strategy:
- type: binpack
field: memory
Возвращаемые факты
Возвращаемые модулем факты добавляются/обновляются в фактах хоста hostvars и могут быть использованы по имени, как и другие факты хоста. Их не нужно регистрировать для использования.
| Факт | Возвращаемое значение | Описание |
|---|---|---|
| service сложный | при существовании и удалении службы | Подробная информация об удаленной службе в той же структуре, что и при создании службы. |
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | ||
|---|---|---|---|---|
| service complex | при создании сервиса | Подробности созданного сервиса. | ||
| status string | всегда | Допустимые значения: ACTIVE, DRAINING или INACTIVE. | ||
| pendingCount int | всегда | Количество задач в кластере, находящихся в состоянии PENDING. | ||
| loadBalancers complex | всегда | Список объектов балансировщиков нагрузки. | ||
| containerName string | всегда | Имя контейнера, который нужно связать с балансировщиком нагрузки. | ||
| containerPort int | всегда | Порт контейнера, который нужно связать с балансировщиком нагрузки. | ||
| loadBalancerName string | всегда | имя | ||
| placementConstraints список комплексных | всегда | Список объектов ограничений размещения. | ||
| type string | всегда | Тип ограничения. Допустимые значения: distinctInstance и memberOf. | ||
| expression string | всегда | Выражение языка запросов кластера, применяемое к ограничению. Обратите внимание, что вы не можете указать выражение, если тип ограничения — distinctInstance. | ||
| desiredCount int | всегда | Желаемое количество экземпляров определения задачи, которые необходимо поддерживать в активном состоянии в сервисе. | ||
| runningCount int | всегда | Количество задач в кластере, находящихся в состоянии RUNNING. | ||
| serviceName string | всегда | Строка, созданная пользователем, используемая для идентификации сервиса. | ||
| clusterArn string | всегда | Amazon Resource Name (ARN) кластера, в котором размещен сервис. | ||
| serviceArn string | всегда | Amazon Resource Name (ARN), идентифицирующий сервис. ARN содержит пространство имен arn:aws:ecs, за которым следует регион сервиса, идентификатор AWS-аккаунта владельца сервиса, пространство имен сервиса и имя сервиса. Например, arn:aws:ecs:region:012345678910:service/my-service. | ||
| deploymentConfiguration complex | всегда | Словарь deploymentConfiguration | ||
| maximumPercent int | всегда | параметр maximumPercent | ||
| minimumHealthyPercent int | всегда | параметр minimumHealthyPercent | ||
| deployments список комплексных | всегда | список развертываний сервиса | ||
| events список комплексных | всегда | список событий сервиса | ||
| taskDefinition string | всегда | ARN определения задачи, используемого для задач в сервисе. | ||
| placementStrategy список комплексных | всегда | Список объектов стратегии размещения. | ||
| field string | всегда | Поле, к которому применяется стратегия размещения. Для стратегии размещения spread допустимые значения — instanceId (или host, что даёт тот же результат), или любой платформенный или пользовательский атрибут, применяемый к экземпляру контейнера, например attribute:ecs.availability-zone. Для стратегии размещения binpack допустимые значения — CPU и MEMORY. | ||
| type string | всегда | Тип стратегии размещения. Допустимые значения — random, spread и binpack. | ||
Статус
Этот модуль помечен как превью, что означает, что гарантии обратной совместимости интерфейса нет.
Автор
- Mark Chance (@java1guy)
- Darek Kaczynski (@kaczynskid)
- Stephane Maarek (@simplesteph)
- Zac Blazic (@zacblazic)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/ecs_service_module.html