Spec-Zone.ru › Ansible 2.9

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

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
arn
-
ARN определения задачи для удаления
aws_access_key
string
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key
string
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
containers
-
Список определений контейнеров
cpu
-
добавлено в 2.7
Количество единиц ЦП, используемых задачей. Если используется тип запуска EC2, это поле необязательно и может принимать любое значение. Если используется тип запуска Fargate, это поле обязательно и должно быть одним из [256, 512, 1024, 2048, 4096]
debug_botocore_endpoint_logs
boolean
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов "ресурс:действие", выполненных во время задачи, вывода набора в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, сделанный во время игры.
ec2_url
string
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она задана.
execution_role_arn
-
добавлено в 2.7
Amazon Resource Name (ARN) роли выполнения задачи, которую могут принять контейнерный агент Amazon ECS и демо Docker.
family
-
Имя, которое будет дано определению задачи
force_create
boolean
добавлено в 2.5
    Варианты:
  • нет
  • да
Всегда создавать новое определение задачи
launch_type
-
добавлено в 2.7
    Варианты:
  • EC2
  • FARGATE
Тип запуска, на котором необходимо запустить задачу
memory
-
добавлено в 2.7
Объем памяти (в МБ), используемой задачей. Если используется тип запуска EC2, это поле необязательно и может принимать любое значение. Если используется тип запуска Fargate, это поле обязательно и ограничено значением cpu
network_mode
-
    Варианты:
  • мост ←
  • хост
  • нет
  • awsvpc
Режим сети Docker для контейнеров в задаче.
awsvpc режим был добавлен в Ansible 2.5
profile
string
Использует профиль boto. Работает только с boto >= 2.24.0.
region
string
AWS-регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она задана. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

Псевдонимы: aws_region, ec2_region
revision
-
Номер ревизии для определения задачи
security_token
string
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

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

Примечания

Примечание

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

Примеры

- name: Create task definition
  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
  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
  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
  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
словарь
всегда
отражение входных параметров



Статус

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

Авторы

  • Mark Chance (@Java1Guy)

Подсказка

Если вы заметите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/ecs_taskdefinition_module.html

Spec-Zone.ru

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