Spec-Zone.ru › Ansible 2.6

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
обязательно
    Варианты:
  • present
  • absent
  • deleting
Желаемое состояние сервиса
task_definition
Определение задачи, которую будет запускать сервис. Этот параметр требуется, когда состояние = present
validate_certs
bool

(добавлено в 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

- 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

Spec-Zone.ru

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