ecs_service - создание, завершение, запуск или остановка сервиса в ecs
Новое в версии 2.1.
- Описание
- Параметры
- Примечания
- Примеры
- Возвращаемые факты
- Возвращаемые значения
- Статус
- Техническое обслуживание
Описание
- Создаёт или завершает сервисы ecs.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- json
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 | |
| client_token | Уникальный, чувствительный к регистру идентификатор, который вы предоставляете для обеспечения идемпотентности запроса. Разрешается до 32 ASCII символов. | |
| cluster | Имя кластера, в котором существует сервис | |
| delay | По умолчанию: 10 | Время ожидания перед проверкой доступности сервиса |
| deployment_configuration (добавлено в 2.3) | Дополнительные параметры, которые управляют параметром deployment_configuration; формат — '{"maximum_percent":<целое число>, "minimum_healthy_percent":<целое число>}' | |
| desired_count | Количество экземпляров сервиса. Этот параметр требуется, когда состояние = present | |
| ec2_url | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион является обязательным. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть. | |
| load_balancers | Список ELB, определённых для этого сервиса | |
| name обязательно | Имя сервиса | |
| network_configuration (добавлено в 2.6) | Настройка сети сервиса. Применимо только для определений задач, созданных с awsvpc network_mode.
network_configuration имеет два ключа: subnets (список идентификаторов подсетей, к которым прикреплена задача) и security_groups (список имён или идентификаторов групп для задачи) | |
| placement_constraints (добавлено в 2.4) | Ограничения размещения для задач в сервисе | |
| placement_strategy (добавлено в 2.4) | Объекты стратегии размещения для использования в вашем сервисе. Вы можете указать максимум 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 | |
| repeat | По умолчанию: 10 | Количество раз для проверки доступности сервиса |
| role | Имя или полный Amazon Resource Name (ARN) роли IAM, которая позволяет агенту Amazon ECS контейнера делать вызовы вашему балансировщику нагрузки от вашего имени. Этот параметр требуется только в том случае, если вы используете балансировщик нагрузки со своим сервисом в режиме сети, отличном от `awsvpc`. | |
| security_token (добавлено в 1.6) | Токен безопасности AWS STS. Если не задан, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state обязательно |
| Желаемое состояние сервиса |
| task_definition | Определение задачи, которую будет запускать сервис. Этот параметр требуется, когда состояние = present | |
| validate_certs bool (добавлено в 1.5) |
| При установке в "нет", сертификаты 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
- name: create ECS service on VPC network
ecs_service:
state: present
name: console-test-service
cluster: new_cluster
task_definition: 'new_cluster-task:1'
desired_count: 0
network_configuration:
subnets:
- subnet-abcd1234
security_groups:
- sg-aaaa1111
- my_security_group
# 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 | при создании сервиса | Подробности созданного сервиса. | ||
| clusterArn string | всегда | Amazon Resource Name (ARN) кластера, который предоставляет сервис. | ||
| desiredCount int | всегда | Желаемое количество экземпляров определения задачи для поддержания работы в сервисе. | ||
| loadBalancers complex | всегда | Список объектов балансировщика нагрузки. | ||
| loadBalancerName string | всегда | имя | ||
| containerName string | всегда | Имя контейнера для связывания с балансировщиком нагрузки. | ||
| containerPort int | всегда | Порт в контейнере для связывания с балансировщиком нагрузки. | ||
| pendingCount int | всегда | Количество задач в кластере в состоянии ОЖИДАНИЕ. | ||
| runningCount int | всегда | Количество задач в кластере в состоянии ВЫПОЛНЕНИЕ. | ||
| serviceArn string | всегда | Amazon Resource Name (ARN), идентифицирующий сервис. ARN содержит пространство имён arn:aws:ecs, за которым следуют регион сервиса, идентификатор AWS-аккаунта владельца сервиса, пространство имён сервиса и имя сервиса. Например, arn:aws:ecs:region:012345678910:service/my-service. | ||
| serviceName string | всегда | Строка, сгенерированная пользователем, используемая для идентификации сервиса. | ||
| status string | всегда | Допустимые значения: ACTIVE, DRAINING или INACTIVE. | ||
| taskDefinition string | всегда | ARN определения задачи для использования в задачах сервиса. | ||
| deployments список комплексных | всегда | Список развертываний сервиса. | ||
| deploymentConfiguration complex | всегда | Словарь deploymentConfiguration. | ||
| maximumPercent int | всегда | параметр maximumPercent. | ||
| minimumHealthyPercent int | всегда | параметр minimumHealthyPercent. | ||
| events список комплексных | всегда | Список событий сервиса. | ||
| placementConstraints список комплексных | всегда | Список объектов ограничений размещения. | ||
| type string | всегда | Тип ограничения. Допустимые значения: distinctInstance и memberOf. | ||
| expression string | всегда | Выражение языка запросов кластера для применения к ограничению. Примечание: выражение нельзя указать, если тип ограничения — distinctInstance. | ||
| placementStrategy список комплексных | всегда | Список объектов стратегии размещения. | ||
| type string | всегда | Тип стратегии размещения. Допустимые значения: random, spread и binpack. | ||
| field string | всегда | Поле для применения стратегии размещения. Для стратегии размещения spread допустимые значения — instanceId (или host, что имеет тот же эффект) или любой атрибут платформы или пользовательский атрибут, применяемый к экземпляру контейнера, например, attribute:ecs.availability-zone. Для стратегии размещения binpack допустимые значения — CPU и MEMORY. | ||
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместим.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- 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.6/modules/ecs_service_module.html