Spec-Zone.ru › Ansible 2.10

community.aws.ecs_service – Создание, завершение, запуск или остановка службы в ECS

Примечание

Этот плагин является частью коллекции community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Чтобы использовать его в книге задач, укажите: community.aws.ecs_service.

Добавлено в версии 1.0.0: из community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые факты
  • Значения возврата

Обзор

  • Создаёт или завершает службы ECS.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • boto
  • boto3
  • botocore
  • json
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров aws_access_key и profile одновременно устарела и будет исключена после 2022-06-01.

псевдонимы: ec2_access_key, access_key
aws_ca_bundle
путь
Путь к файлу сертификата CA для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: файл CA Bundle читается на стороне «модуля» и может потребоваться его явное копирование из контроллера, если модуль не запускается локально.
aws_config
словарь
Словарь для модификации конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Дополнительную конфигурацию для boto см. по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров aws_secret_key и profile одновременно устарела и будет исключена после 2022-06-01.

псевдонимы: ec2_secret_key, secret_key
client_token
строка
Уникальный, чувствительный к регистру идентификатор, который вы предоставляете для обеспечения идемпотентности запроса. Разрешается до 32 символов ASCII.
cluster
строка
Имя кластера, в котором существует служба.
debug_botocore_endpoint_logs
булево
    Варианты:
  • нет ←
  • да
Использовать логгер botocore.endpoint для парсинга уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода общего списка, сделанного во время выполнения playbook. Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
delay
целое число
Значение по умолчанию:
10
Время ожидания перед проверкой доступности службы.
deployment_configuration
словарь
Дополнительные параметры, контролирующие deployment_configuration.
Формат: '{"maximum_percent":<целое число>, "minimum_healthy_percent":<целое число>}
maximum_percent
целое число
Верхний предел количества задач в службе, которые разрешены в состояниях RUNNING или PENDING во время развертывания.
minimum_healthy_percent
целое число
Нижний предел количества задач в службе, которые должны оставаться в состоянии RUNNING во время развертывания.
desired_count
целое число
Количество экземпляров службы.
Этот параметр необходим, когда state=present.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если она существует.

псевдонимы: aws_endpoint_url, endpoint_url
force_new_deployment
булево
    Варианты:
  • нет ←
  • да
Вызвать развертывание службы, даже если изменений нет.
health_check_grace_period_seconds
целое число
Секунды ожидания перед проверкой работоспособности недавно добавленных/обновленных служб.
Этот параметр требует botocore >= 1.8.20.
launch_type
строка
    Варианты:
  • EC2
  • FARGATE
Тип запуска для выполнения вашей службы.
load_balancers
список / элементы=словарь
Список ELB, определённых для этой службы.
name
строка / обязательно
Имя службы.
network_configuration
словарь
Конфигурация сети службы. Применимо только для определений задач, созданных с network_mode=awsvpc.
assign_public_ip требует botocore >= 1.8.4
assign_public_ip
булево
    Варианты:
  • нет
  • да
Получение публичного IP-адреса для эластичного сетевого интерфейса задачи.
Этот параметр требует botocore >= 1.8.4.
security_groups
список / элементы=строка
Список имён или ID групп безопасности для ассоциации с задачей.
subnets
список / элементы=строка
Список ID подсетей для ассоциации с задачей.
placement_constraints
список / элементы=словарь
Ограничения размещения для задач в службе.
См. https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementConstraint.html для получения дополнительной информации.
expression
строка
Выражение языка запросов кластера для применения ограничения.
type
строка
Тип ограничения.
placement_strategy
список / элементы=словарь
Объекты стратегии размещения для использования в вашей службе. Вы можете указать до 5 правил стратегии на одну службу.
field
строка
Поле для применения стратегии размещения.
type
строка
Тип стратегии размещения.
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределяет aws_access_key, aws_secret_key и security_token, и поддержка их одновременной передачи с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01.

псевдонимы: aws_profile
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.
scheduling_strategy
строка
    Варианты:
  • DAEMON
  • REPLICA
Стратегия планирования.
По умолчанию REPLICA, если не указано, чтобы сохранить предыдущее поведение.
security_token
строка
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Передача параметров security_token и profile одновременно устарела и будет исключена после 2022-06-01.

псевдонимы: aws_security_token, access_token
service_registries
список / элементы=словарь
Описывает реестры обнаружения служб, с которыми будет регистрироваться эта служба.
arn
строка
ARN реестра обнаружения служб.
container_name
строка
Имя контейнера для регистрации в реестре обнаружения служб.
container_port
integer
Порт контейнера для регистрации службы обнаружения.
state
string / required
    Варианты:
  • present
  • absent
  • deleting
Желаемое состояние службы.
task_definition
string
Определение задачи, которую будет выполнять служба.
Этот параметр требуется, когда state=present.
validate_certs
boolean
    Варианты:
  • no
  • да ←
Если установлено «no», сертификаты SSL не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Указанная роль службы должна быть доступной. (т. е. должна быть договорённость о доверии для службы ecs, ecs.amazonaws.com)
  • Подробные сведения о параметрах и возвращаемых значениях см. на странице https://boto3.readthedocs.io/en/latest/reference/services/ecs.html.
  • Должна быть предварительно создана роль IAM.
  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, 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, AWS_CA_BUNDLE
  • Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/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.

# Basic provisioning example
- community.aws.ecs_service:
    state: present
    name: console-test-service
    cluster: new_cluster
    task_definition: 'new_cluster-task:1'
    desired_count: 0

- name: create ECS service on VPC network
  community.aws.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
- community.aws.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)
- community.aws.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
complex / elements=string
при существовании и удалении службы
Подробности удаленной службы.

clusterArn
string / elements=string
всегда
Amazon Resource Name (ARN) кластера, в котором размещена служба.

deploymentConfiguration
complex / elements=string
всегда
Словарь deploymentConfiguration

maximumPercent
integer / elements=string
всегда
Параметр maximumPercent

minimumHealthyPercent
integer / elements=string
всегда
Параметр minimumHealthyPercent

deployments
list / elements=dictionary
всегда
Список развертываний службы

desiredCount
integer / elements=string
всегда
Желаемое количество экземпляров определения задачи, которые должны выполняться в службе.

events
list / elements=dictionary
всегда
Список событий службы

loadBalancers
complex / elements=string
всегда
Список объектов балансировщика нагрузки

containerName
string / elements=string
всегда
Имя контейнера, который нужно связать с балансировщиком нагрузки.

containerPort
integer / elements=string
всегда
Порт в контейнере, который нужно связать с балансировщиком нагрузки.

loadBalancerName
string / elements=string
всегда
имя

pendingCount
integer / elements=string
всегда
Количество задач в кластере, находящихся в состоянии PENDING.

placementConstraints
list / elements=dictionary
всегда
Список объектов ограничений размещения

expression
string / elements=string
всегда
Выражение языка запросов к кластеру для применения ограничения. Обратите внимание, что вы не можете указать выражение, если тип ограничения distinctInstance.

type
string / elements=string
всегда
Тип ограничения. Допустимые значения — distinctInstance и memberOf.

placementStrategy
list / elements=dictionary
всегда
Список объектов стратегии размещения

field
string / elements=string
всегда
Поле, к которому применяется стратегия размещения. Для стратегии размещения spread допустимые значения — instanceId (или host, что даёт тот же эффект), или любой платформенный или настраиваемый атрибут, применённый к экземпляру контейнера, например, attribute:ecs.availability-zone. Для стратегии размещения binpack допустимые значения — CPU и MEMORY.

type
string / elements=string
всегда
Тип стратегии размещения. Допустимые значения — random, spread и binpack.

runningCount
integer / elements=string
всегда
Количество задач в кластере, находящихся в состоянии RUNNING.

serviceArn
string / elements=string
всегда
Amazon Resource Name (ARN), определяющий службу. ARN содержит имя пространства имён arn:aws:ecs, за которым следует регион службы, идентификатор учётной записи AWS владельца службы, пространство имён службы и имя службы. Например, arn:aws:ecs:region :012345678910 :service/my-service .

serviceName
string / elements=string
всегда
Сгенерированная пользователем строка, используемая для идентификации службы.

status
string / elements=string
всегда
Допустимые значения — ACTIVE, DRAINING или INACTIVE.

taskDefinition
string / elements=string
всегда
ARN определения задачи, используемого для задач в службе.



Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие — это поля, уникальные для данного модуля:

Краткое описание полей Возвращаемое значение Описание
service
complex
при создании сервиса
Подробности созданного сервиса.

clusterArn
string
всегда
Amazon Resource Name (ARN) кластера, в котором размещен сервис.

deploymentConfiguration
complex
всегда
Словарь deploymentConfiguration

maximumPercent
integer
всегда
Параметр maximumPercent

minimumHealthyPercent
integer
всегда
Параметр minimumHealthyPercent

deployments
list / elements=dictionary
всегда
Список развертываний сервиса

desiredCount
integer
всегда
Желаемое количество экземпляров определения задачи, которые должны выполняться в сервисе.

events
list / elements=dictionary
всегда
Список событий сервиса

loadBalancers
complex
всегда
Список объектов балансировщика нагрузки

containerName
string
всегда
Имя контейнера, которое нужно связать с балансировщиком нагрузки.

containerPort
integer
всегда
Порт в контейнере, который нужно связать с балансировщиком нагрузки.

loadBalancerName
string
всегда
имя

pendingCount
integer
всегда
Количество задач в кластере, находящихся в состоянии ОЖИДАНИЯ.

placementConstraints
list / elements=dictionary
всегда
Список объектов ограничений размещения

expression
string
всегда
Выражение языка запросов кластера, применяемое к ограничению. Обратите внимание, что вы не можете указать выражение, если тип ограничения — distinctInstance.

type
string
всегда
Тип ограничения. Допустимые значения — distinctInstance и memberOf.

placementStrategy
list / elements=dictionary
всегда
Список объектов стратегии размещения

field
string
всегда
Поле, к которому применяется стратегия размещения. Для стратегии размещения spread допустимые значения — instanceId (или host, что имеет тот же эффект), или любой платформенный или пользовательский атрибут, примененный к экземпляру контейнера, например, атрибут:ecs.availability-zone. Для стратегии размещения binpack допустимые значения — CPU и MEMORY.

type
string
всегда
Тип стратегии размещения. Допустимые значения — random, spread и binpack.

runningCount
integer
всегда
Количество задач в кластере, находящихся в состоянии ВЫПОЛНЕНИЯ.

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 определения задачи, которое нужно использовать для задач в сервисе.



Авторы

  • 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.10/collections/community/aws/ecs_service_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API