Spec-Zone.ru › Ansible 2.8

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
-
Имя кластера, в котором существует служба.
debug_botocore_endpoint_logs
логический тип
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя их в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
delay
-
Значение по умолчанию:
10
Время ожидания перед проверкой доступности службы.
deployment_configuration
-
добавлено в 2.3
Дополнительные параметры, контролирующие deployment_configuration; формат — '{"maximum_percent":<целое число>, "minimum_healthy_percent":<целое число>}'.
desired_count
-
Количество экземпляров службы. Этот параметр необходим, когда state=present.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется в модулях, где требуется регион. Должен быть указан во всех остальных модулях, если не используется регион. Если не задан, используется значение переменной окружения EC2_URL, если она есть.
force_new_deployment
логический тип
добавлено в 2.8
    Варианты:
  • нет
  • да
Вынудить развертывание службы, даже если изменений нет.
health_check_grace_period_seconds
-
добавлено в 2.8
Секунды ожидания перед проверкой работоспособности недавно добавленных/обновленных служб. Этот параметр требует botocore >= 1.8.20.
launch_type
-
добавлено в 2.7
    Варианты:
  • EC2
  • FARGATE
Тип запуска, на котором будет выполняться ваша служба.
load_balancers
-
Список ELB, определенных для этой службы.
name
- / обязательно
Имя службы.
network_configuration
-
Конфигурация сети службы. Применимо только для определений задач, созданных с awsvpc network_mode.
assign_public_ip требует botocore >= 1.8.4
assign_public_ip
логический тип
добавлено в 2.7
    Варианты:
  • нет
  • да
Присваивать ли публичный IP-адрес интерфейсу эластичной сети задачи. Этот параметр требует botocore >= 1.8.4.
security_groups
-
добавлено в 2.6
Список имен или идентификаторов групп безопасности, которые нужно ассоциировать с задачей.
subnets
-
добавлено в 2.6
Список идентификаторов подсетей, которые нужно ассоциировать с задачей.
placement_constraints
-
добавлено в 2.4
Ограничения размещения для задач в службе.
placement_strategy
-
добавлено в 2.4
Объекты стратегии размещения для использования в службе. Вы можете указать не более 5 правил стратегии на одну службу.
profile
строка
Использует профиль 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`.
scheduling_strategy
-
добавлено в 2.8
    Варианты:
  • DAEMON
  • REPLICA
Стратегия планирования, по умолчанию «REPLICA», если не указано, для сохранения предыдущего поведения.
security_token
строка
AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

псевдонимы: access_token
service_registries
-
добавлено в 2.8
описывает реестры обнаружения служб, с которыми будет регистрироваться эта служба.
arn
-
ARN реестра обнаружения служб
container_name
-
Имя контейнера для регистрации службы обнаружения.
container_port
-
Порт контейнера для регистрации службы обнаружения.
state
- / обязательно
    Варианты:
  • present
  • absent
  • deleting
Желаемое состояние службы.
task_definition
-
Определение задачи, которое будет выполнять служба. Этот параметр необходим, когда state=present.
validate_certs
логический тип
    Варианты:
  • нет
  • да ←
Если установлено «нет», сертификаты 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_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

Примеры

# Note: These examples do not set authentication details, see the AWS Guide for details.

# Basic provisioning example
- 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
  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
сложный
при создании службы
Подробности созданной службы.

clusterArn
строка
всегда
Amazon Resource Name (ARN) кластера, который размещает службу.

deploymentConfiguration
сложный
всегда
словарь deploymentConfiguration

maximumPercent
целое число
всегда
параметр maximumPercent

minimumHealthyPercent
целое число
всегда
параметр minimumHealthyPercent

deployments
список сложных
всегда
список развертываний службы

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

events
список сложных
всегда
список событий службы

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

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

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

loadBalancerName
строка
всегда
имя

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

placementConstraints
список сложных
всегда
Список объектов ограничений размещения

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

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

placementStrategy
список сложных
всегда
Список объектов стратегии размещения

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

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

runningCount
целое число
всегда
Количество задач в кластере, находящихся в состоянии RUNNING.

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

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

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

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



Состояние

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • 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.8/modules/ecs_service_module.html

Spec-Zone.ru

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