Spec-Zone.ru › Ansible 2.11

community.aws.ecs_taskdefinition – регистрация определения задачи в ecs

Примечание

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

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

Для использования в книге задач укажите: community.aws.ecs_taskdefinition.

Новое в версии 1.0.0: из community.aws

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

Обзор

  • Регистрирует или удаляет определения задач в Amazon Web Services (AWS) EC2 Container Service (ECS).

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
arn
строка
ARN определения задачи для удаления.
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 считывается со стороны модуля и, возможно, должен быть явно скопирован с контроллера, если он не запускается локально.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Только ключ 'user_agent' используется для модулей boto. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации 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
containers
список / элементы=словарь
Список определений контейнеров.
cpu
строка
Количество единиц ЦП, используемых задачей. Если используется тип запуска EC2, это поле необязательно и может использоваться любое значение.
Если используется тип запуска Fargate, это поле обязательно, и необходимо использовать одно из 256, 512, 1024, 2048, 4096.
debug_botocore_endpoint_logs
булево
    Варианты:
  • нет ←
  • да
Использовать регистрирующий элемент botocore для анализа уникальных (а не общих) API-вызовов "ресурс:действие", выполненных во время задачи, выводимых в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы вывести полный список, выполненный во время книги задач. Также может быть использована переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она существует.

псевдонимы: aws_endpoint_url, endpoint_url
execution_role_arn
строка
Amazon Resource Name (ARN) роли выполнения задачи, которую могут принять агент контейнеров Amazon ECS и демон Docker.
family
строка
Имя, которое будет присвоено определению задачи.
force_create
булево
    Варианты:
  • нет ←
  • да
Всегда создавать новое определение задачи.
launch_type
строка
    Варианты:
  • EC2
  • FARGATE
Тип запуска, на котором необходимо запустить задачу.
memory
строка
Объем (в МБ) памяти, используемой задачей. Если используется тип запуска EC2, это поле необязательно и может использоваться любое значение.
Если используется тип запуска Fargate, это поле обязательно и ограничено ЦП.
network_mode
строка
    Варианты:
  • default
  • bridge ←
  • host
  • none
  • awsvpc
Режим сети Docker для контейнеров в задаче.
awsvpc режим был добавлен в Ansible 2.5
Контейнеры Windows должны использовать network_mode=default, что будет использовать сеть NAT docker.
Указание network_mode=default для контейнера Linux будет использовать режим моста.
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
revision
целое число
Номер ревизии для определения задачи.
security_token
строка
AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если задан параметр profile, этот параметр игнорируется.
Одновременное указание параметров security_token и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01.

псевдонимы: aws_security_token, access_token
state
строка / обязательно
    Варианты:
  • present
  • absent
Указывает, должно ли определение задачи существовать или быть удалено.
task_role_arn
строка
Amazon Resource Name (ARN) IAM-роли, которую могут принять контейнеры в этой задаче. Все контейнеры в этой задаче получают разрешения, указанные в этой роли.
validate_certs
булево
    Варианты:
  • нет
  • да ←
При установке в значение "нет", SSL-сертификаты для версий boto >= 2.6.0 не будут проверяться.
volumes
список / элементы=словарь
Список имён томов для подключения.
name
строка / обязательно
Имя тома.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета: 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

Примеры

- name: Create task definition
  community.aws.ecs_taskdefinition:
    containers:
    - name: simple-app
      cpu: 10
      essential: true
      image: "httpd:2.4"
      memory: 300
      mountPoints:
      - containerPath: /usr/local/apache2/htdocs
        sourceVolume: my-vol
      portMappings:
      - containerPort: 80
        hostPort: 80
      logConfiguration:
        logDriver: awslogs
        options:
          awslogs-group: /ecs/test-cluster-taskdef
          awslogs-region: us-west-2
          awslogs-stream-prefix: ecs
    - name: busybox
      command:
        - >
          /bin/sh -c "while true; do echo '<html><head><title>Amazon ECS Sample App</title></head><body><div><h1>Amazon ECS Sample App</h1><h2>Congratulations!
          </h2><p>Your application is now running on a container in Amazon ECS.</p>' > top; /bin/date > date ; echo '</div></body></html>' > bottom;
          cat top date bottom > /usr/local/apache2/htdocs/index.html ; sleep 1; done"
      cpu: 10
      entryPoint:
      - sh
      - "-c"
      essential: false
      image: busybox
      memory: 200
      volumesFrom:
      - sourceContainer: simple-app
    volumes:
    - name: my-vol
    family: test-cluster-taskdef
    state: present
  register: task_output

- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
    - name: nginx
      essential: true
      image: "nginx"
      portMappings:
      - containerPort: 8080
        hostPort:      8080
      cpu: 512
      memory: 1024
    state: present

- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
    - name: nginx
      essential: true
      image: "nginx"
      portMappings:
      - containerPort: 8080
        hostPort:      8080
    launch_type: FARGATE
    cpu: 512
    memory: 1024
    state: present
    network_mode: awsvpc

# Create Task Definition with Environment Variables and Secrets
- name: Create task definition
  community.aws.ecs_taskdefinition:
    family: nginx
    containers:
    - name: nginx
      essential: true
      image: "nginx"
      environment:
        - name: "PORT"
          value: "8080"
      secrets:
        # For variables stored in Secrets Manager
        - name: "NGINX_HOST"
          valueFrom: "arn:aws:secretsmanager:us-west-2:123456789012:secret:nginx/NGINX_HOST"
        # For variables stored in Parameter Store
        - name: "API_KEY"
          valueFrom: "arn:aws:ssm:us-west-2:123456789012:parameter/nginx/API_KEY"
    launch_type: FARGATE
    cpu: 512
    memory: 1GB
    state: present
    network_mode: awsvpc

Значения возврата

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

Ключ Возвращаемое Описание
taskdefinition
словарь
всегда
отражение входных параметров



Авторы

  • Марк Ченс (@Java1Guy)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/ecs_taskdefinition_module.html

Spec-Zone.ru

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