Spec-Zone.ru › Ansible 2.11

community.docker.docker_swarm_service – docker swarm service

Примечание

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

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

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

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

Обзор

  • Управляет службами docker через узел менеджера swarm.

Требования

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

  • Docker API >= 1.24
  • Docker SDK для Python: Обратите внимание, что модуль Python docker-py был заменён на docker (подробности см. в здесь). Данный модуль не работает с docker-py.
  • Docker SDK для Python >= 2.0.2
  • Python >= 2.7

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_version
строка
По умолчанию:
"auto"
Версия Docker API, работающая на Docker хосте.
По умолчанию устанавливается последняя версия API, поддерживаемая Docker SDK для Python и демоном docker.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, используется значение по умолчанию.

Псевдонимы: docker_api_version
args
список / элементы=строка
Список аргументов, которые будут переданы контейнеру.
Соответствует параметру ARG в docker service create.
ca_cert
путь
Используйте сертификат CA при проверке сервера, указав путь к файлу сертификата CA.
Если значение не указано в задаче и переменная окружения DOCKER_CERT_PATH задана, используется файл ca.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Псевдонимы: tls_ca_cert, cacert_path
client_cert
путь
Путь к файлу TLS-сертификата клиента.
Если значение не указано в задаче и переменная окружения DOCKER_CERT_PATH задана, используется файл cert.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Псевдонимы: tls_client_cert, cert_path
client_key
путь
Путь к файлу TLS-ключа клиента.
Если значение не указано в задаче и переменная окружения DOCKER_CERT_PATH задана, используется файл key.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.

Псевдонимы: tls_client_key, key_path
command
сырой
Команда, которая будет выполнена при запуске контейнера.
Команда может быть строкой, списком или списком строк.
Соответствует параметру COMMAND в docker service create.
configs
список / элементы=словарь
Список словарей, описывающих конфигурации сервиса.
Соответствует параметру --config в docker service create.
Требуется версия API >= 1.30.
config_id
строка
Идентификатор конфигурации.
config_name
строка / обязательно
Имя конфигурации, определенное при её создании.
filename
строка
Имя файла, содержащего конфигурацию. По умолчанию устанавливается как config_name, если не указано.
gid
строка
GID группы файла конфигурации.
mode
целое число
Режим доступа к файлу внутри контейнера. Должно быть восьмеричным числом (например, 0644 или 0444).
uid
строка
UID владельца файла конфигурации.
container_labels
словарь
Словарь пар ключ-значение.
Соответствует параметру --container-label в docker service create.
debug
логическое
    Варианты:
  • нет ←
  • да
Режим отладки
dns
список / элементы=строка
Список пользовательских DNS-серверов.
Соответствует параметру --dns в docker service create.
Требуется версия API >= 1.25.
dns_options
список / элементы=строка
Список пользовательских DNS-параметров.
Соответствует параметру --dns-option в docker service create.
Требуется версия API >= 1.25.
dns_search
список / элементы=строка
Список пользовательских DNS-доменных имен.
Соответствует параметру --dns-search в docker service create.
Требуется версия API >= 1.25.
docker_host
строка
По умолчанию:
"unix://var/run/docker.sock"
URL или путь к Unix-сокету, используемый для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, tcp://192.0.2.23:2376. Если для шифрования соединения используется TLS, модуль автоматически заменит tcp в URL-адресе соединения на https.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_HOST. Если переменная окружения не задана, используется значение по умолчанию.

Псевдонимы: docker_url
endpoint_mode
строка
    Варианты:
  • vip
  • dnsrr
Режим конечной точки сервиса.
Соответствует параметру --endpoint-mode в docker service create.
Требуется версия API >= 1.25.
env
сырой
Список или словарь переменных окружения сервиса.
Если передаётся список, каждый элемент должен быть в формате KEY=VALUE.
Если передаётся словарь, значения, которые могут быть интерпретированы как числа, булевы значения или другие типы YAML-парсером, должны быть заключены в кавычки (например, "true"), чтобы избежать потери данных.
Соответствует параметру --env в docker service create.
env_files
список / элементы=путь
Список путей к файлам, находящимся на целевом устройстве, содержащим переменные окружения FOO=BAR.
Порядок в списке важен для определения значения, назначенного переменной, которая встречается более одного раза.
Если переменная также присутствует в env, значение env будет переопределено.
force_update
логическое
    Варианты:
  • нет ←
  • да
Принудительное обновление, даже если не требуются изменения.
Соответствует параметру --force в docker service update.
Требуется версия API >= 1.25.
groups
список / элементы=строка
Список дополнительных имён и/или идентификаторов групп, под которыми будет работать процесс контейнера.
Соответствует параметру --group в docker service update.
Требуется версия API >= 1.25.
healthcheck
словарь
Настройка проверки, которая выполняется для определения того, являются ли контейнеры для данного сервиса «здоровыми». Обратитесь к документации по инструкции HEALTHCHECK Dockerfile для получения подробной информации о работе проверок работоспособности.
interval, timeout и start_period указаны как продолжительности. Они принимают продолжительность как строку в формате, напоминающем: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Требуется версия API >= 1.25.
interval
строка
Время между выполнением проверки.
retries
целое число
Необходимое количество последовательных сбоев для сообщения о неработоспособности. Принимает целое число.
start_period
строка
Период запуска контейнера для инициализации перед началом отсчёта попыток проверки работоспособности.
test
сырой
Команда для проверки работоспособности.
Должна быть строкой или списком. Если это список, первый элемент должен быть одним из NONE, CMD или CMD-SHELL.
timeout
строка
Максимальное время для выполнения одной проверки.
hostname
строка
Имя хоста контейнера.
Соответствует параметру --hostname в docker service create.
Требуется версия API >= 1.25.
hosts
словарь
Словарь соответствий хост-IP, где каждое имя хоста является ключом в словаре. Каждое имя хоста будет добавлено в файл /etc/hosts контейнера.
Соответствует параметру --host в docker service create.
Требуется версия API >= 1.25.
image
строка
Путь и тег изображения сервиса.
Соответствует параметру IMAGE в docker service create.
init
логическое
    Варианты:
  • нет
  • да
Использовать init внутри каждого контейнера сервиса для передачи сигналов и сбора процессов.
Соответствует параметру --init в docker service create.
Требуется версия API >= 1.37.
метки
словарь
Словарь пар ключ-значение.
Соответствует параметру --label в docker service create.
пределы
словарь
Настройка пределов ресурсов службы.
cpus
вещественное число
Предел ЦП службы. 0 означает отсутствие ограничения.
Соответствует параметру --limit-cpu в docker service create.
memory
строка
Предел памяти службы в формате <number>[<unit>]. Число — положительное целое. Единицы измерения могут быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 означает отсутствие ограничения.
Если единицы измерения не указаны, по умолчанию используются байты.
Соответствует параметру --limit-memory в docker service create.
logging
словарь
Настройка ведения журнала для службы.
driver
строка
Настройка драйвера ведения журнала для службы.
Соответствует параметру --log-driver в docker service create.
options
словарь
Параметры драйвера ведения журнала службы.
Соответствует параметру --log-opt в docker service create.
mode
строка
    Вызовы:
  • replicated ←
  • global
Режим репликации службы.
Служба будет удалена и пересоздана при изменении.
Соответствует параметру --mode в docker service create.
mounts
список / элементы=словарь
Список словарей, описывающих монтирования службы.
Соответствует параметру --mount в docker service create.
driver_config
словарь
Настройка драйвера томов.
Может быть использована только при type volume.
name
строка
Имя плагина драйвера томов для использования с томом.
options
словарь
Параметры в виде пар ключ-значение для передачи драйверу этого тома.
метки
словарь
Метки тома для применения.
no_copy
логическое
    Вызовы:
  • нет
  • да
Отключить копирование данных из контейнера при создании тома.
Может быть использована только при type volume.
propagation
строка
    Вызовы:
  • shared
  • slave
  • private
  • rshared
  • rslave
  • rprivate
Режим распространения для использования.
Может быть использована только при type bind.
только чтение
логическое
    Вызовы:
  • нет
  • да
Должен ли монтаж быть только для чтения.
источник
строка
Источник монтирования (например, имя тома или путь к хосту).
Должен быть указан, если type не tmpfs.
цель
строка / обязательный
Путь в контейнере.
tmpfs_mode
целое число
Режим файла tmpfs в восьмеричной форме.
Может быть использована только при type tmpfs.
tmpfs_size
строка
Размер tmpfs-монтирования в формате <number>[<unit>]. Число — положительное целое. Единицы измерения могут быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
Может быть использована только при type tmpfs.
тип
строка
    Вызовы:
  • bind ←
  • volume
  • tmpfs
  • npipe
Тип монтирования.
Обратите внимание, что npipe поддерживается только Docker для Windows. Также обратите внимание, что npipe был добавлен в Ansible 2.9.
имя
строка / обязательный
Имя службы.
Соответствует параметру --name в docker service create.
сети
список / элементы=сырой
Список имен сетей службы или словарей.
Если передаются словари, допустимыми подпараметрами являются name (обязательный), aliases и options.
До версии API 1.29 обновление и удаление сетей не поддерживается. При внесении изменений служба будет удалена и пересоздана.
Соответствует параметру --network в docker service create.
placement
словарь
Настройка предпочтений и ограничений размещения службы.
ограничения
список / элементы=строка
Список ограничений службы.
Соответствует параметру --constraint в docker service create.
предпочтения
список / элементы=словарь
Список предпочтений размещения в виде пар ключ-значение.
Соответствует параметру --placement-pref в docker service create.
Требуется версия API >= 1.27.
publish
список / элементы=словарь
Список словарей, описывающих опубликованные порты службы.
Соответствует параметру --publish в docker service create.
Требуется версия API >= 1.25.
mode
строка
    Вызовы:
  • вход
  • хост
Режим публикации, который следует использовать.
Требуется версия API >= 1.32.
протокол
строка
    Вызовы:
  • tcp ←
  • udp
Используемый протокол.
published_port
целое число / обязательный
Порт, который должен быть доступен извне.
target_port
целое число / обязательный
Порт внутри контейнера, который нужно экспонировать.
только чтение
логическое
    Вызовы:
  • нет
  • да
Монтировать корневую файловую систему контейнеров в режиме только чтение.
Соответствует параметру --read-only в docker service create.
replicas
целое число
По умолчанию:
-1
Количество создаваемых контейнеров в службе. Допустимо только если mode replicated.
Если установлено в -1 и службы нет, количество реплик службы будет установлено в 1.
Если установлено в -1 и служба есть, количество реплик службы останется без изменений.
Соответствует параметру --replicas в docker service create.
зарезервированные ресурсы
словарь
Настройка резервирования ресурсов службы.
cpus
вещественное число
Зарезервированные ресурсы ЦП службы. 0 означает отсутствие резервирования.
Соответствует параметру --reserve-cpu в docker service create.
memory
строка
Зарезервированные ресурсы памяти службы в формате <number>[<unit>]. Число — положительное целое. Единицы измерения могут быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 означает отсутствие резервирования.
Если единицы измерения не указаны, по умолчанию используются байты.
Соответствует параметру --reserve-memory в docker service create.
resolve_image
логическое
    Вызовы:
  • нет ←
  • да
Должен ли текущий дайджест изображения быть разрешен из реестра и обновлен, если он изменился.
Требуется версия API >= 1.30.
restart_config
словарь
Настраивает, нужно ли и как перезапускать контейнеры при их завершении.
condition
строка
    Варианты:
  • none
  • on-failure
  • any
Условие перезапуска службы.
Соответствует параметру --restart-condition в docker service create.
delay
строка
Задержка между перезапусками.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --restart-delay в docker service create.
max_attempts
целое число
Максимальное количество перезапусков службы.
Соответствует параметру --restart-condition в docker service create.
window
строка
Окно для оценки политики перезапуска.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --restart-window в docker service create.
rollback_config
словарь
Настраивает, как служба должна быть откачена в случае сбоя обновления.
delay
строка
Задержка между отката заданий.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --rollback-delay в docker service create.
Требуется версия API ≥ 1.28.
failure_action
строка
    Варианты:
  • continue
  • pause
Действие в случае сбоя отката.
Соответствует параметру --rollback-failure-action в docker service create.
Требуется версия API ≥ 1.28.
max_failure_ratio
число с плавающей запятой
Доля задач, которые могут завершиться сбоем во время отката.
Соответствует параметру --rollback-max-failure-ratio в docker service create.
Требуется версия API ≥ 1.28.
monitor
строка
Время ожидания после каждого отката задания для мониторинга сбоев.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --rollback-monitor в docker service create.
Требуется версия API ≥ 1.28.
order
строка
Указывает порядок операций во время отката.
Соответствует параметру --rollback-order в docker service create.
Требуется версия API ≥ 1.29.
parallelism
целое число
Количество контейнеров, которые будут откатываться одновременно. Если установлено в 0, все контейнеры откатываются одновременно.
Соответствует параметру --rollback-parallelism в docker service create.
Требуется версия API ≥ 1.28.
secrets
список / элементы=словарь
Список словарей, описывающих секреты службы.
Соответствует параметру --secret в docker service create.
Требуется версия API ≥ 1.25.
filename
строка
Имя файла, содержащего секрет. По умолчанию равно secret_name, если не указано.
Соответствует ключу target в docker service create --secret.
gid
строка
GID группы файла с секретом.
mode
целое число
Режим доступа к файлу внутри контейнера. Должно быть восьмеричным числом (например, 0644 или 0444).
secret_id
строка
Идентификатор секрета.
secret_name
строка / обязательно
Имя секрета, определенное при его создании.
uid
строка
UID владельца файла с секретом.
ssl_version
строка
Укажите допустимое значение версии SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задании, будет использовано значение переменной окружения DOCKER_SSL_VERSION.
state
строка
    Варианты:
  • present ←
  • absent
absent — служба с указанным именем будет удалена, а ее задачи остановлены.
present — подтверждает существование службы с соответствующим именем и параметрами конфигурации. Неуказанные параметры конфигурации будут установлены по умолчанию для Docker.
stop_grace_period
строка
Время ожидания перед принудительным завершением контейнера.
Принимает длительность в виде строки в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --stop-grace-period в docker service create.
stop_signal
строка
Переопределение сигнала по умолчанию, используемого для остановки контейнера.
Соответствует параметру --stop-signal в docker service create.
timeout
целое число
По умолчанию:
60
Максимальное время в секундах ожидания ответа от API.
Если значение не указано в задании, будет использовано значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не установлена, будет использовано значение по умолчанию.
tls
логическое значение
    Варианты:
  • нет ←
  • да
Обеспечение безопасного соединения с API с использованием TLS без проверки подлинности сервера Docker. Обратите внимание, что если также задан параметр validate_certs со значением yes, он будет иметь приоритет.
Если значение не указано в задании, будет использовано значение переменной окружения DOCKER_TLS. Если переменная окружения не установлена, будет использовано значение по умолчанию.
tls_hostname
строка
По умолчанию:
"localhost"
При проверке подлинности сервера Docker укажите ожидаемое имя сервера.
Если значение не указано в задании, будет использовано значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не установлена, будет использовано значение по умолчанию.
tty
логическое значение
    Варианты:
  • нет
  • да
Выделить псевдо-терминал.
Соответствует параметру --tty в docker service create.
Требуется версия API ≥ 1.25.
update_config
словарь
Настраивает, как служба должна быть обновлена. Полезно для настройки обновлений с откатом.
delay
строка
Задержка при обновлении с откатом.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-delay в docker service create.
failure_action
строка
    Варианты:
  • continue
  • pause
  • rollback
Действие в случае сбоя контейнера.
Соответствует параметру --update-failure-action в docker service create.
Использование rollback требует версии API ≥ 1.29.
max_failure_ratio
число с плавающей запятой
Доля задач, которые могут завершиться сбоем при обновлении до вызова действия в случае сбоя.
Соответствует параметру --update-max-failure-ratio в docker service create.
Требуется версия API ≥ 1.25.
monitor
string
Время мониторинга обновлённых задач на наличие ошибок.
Принимает строку в формате, похожем на: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-monitor в docker service create.
Требуется версия API >= 1.25.
order
string
Указывает порядок выполнения операций при развёртывании обновлённой задачи.
Соответствует параметру --update-order в docker service create.
Требуется версия API >= 1.29.
parallelism
integer
Параллелизм при обновлении.
Соответствует параметру --update-parallelism в docker service create.
user
string
Устанавливает имя пользователя или UID, используемый для указанной команды.
До Ansible 2.8 значение по умолчанию для этого параметра было root.
Значение по умолчанию было удалено, чтобы при отсутствии указанного пользователя использовался пользователь, определённый в образе.
Соответствует параметру --user в docker service create.
validate_certs
boolean
    Варианты:
  • no ←
  • yes
Обеспечение безопасности подключения к API с помощью TLS и проверка подлинности сервера Docker host.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_VERIFY. Если переменная окружения не определена, будет использовано значение по умолчанию.

Псевдонимы: tls_verify
working_dir
string
Путь к рабочей директории.
Соответствует параметру --workdir в docker service create.

Примечания

Примечание

  • Образы будут разрешаться только до последнего дайджеста при использовании Docker API >= 1.30 и Docker SDK for Python >= 3.2.0. При использовании более старых версий используйте force_update: true для принудительного разрешения нового образа в кластере.
  • Подключение к Docker daemon осуществляется путём предоставления параметров каждой задаче или определения переменных окружения. Вы можете определить DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, DOCKER_SSL_VERSION, DOCKER_TLS, DOCKER_TLS_VERIFY и DOCKER_TIMEOUT. Если вы используете docker machine, выполните скрипт, поставляемый с продуктом, для настройки окружения. Он настроит эти переменные за вас. Для получения более подробной информации см. https://docs.docker.com/machine/reference/env/.
  • При подключении к Docker daemon с TLS вам, возможно, потребуется установить дополнительные пакеты Python. Для Docker SDK for Python версии 2.4 или новее это можно сделать путём установки docker[tls] с помощью ansible.builtin.pip.
  • Обратите внимание, что Docker SDK for Python позволяет указать только путь к конфигурации Docker для очень ограниченного количества функций. В общем случае он будет использовать $HOME/.docker/config.json, если переменная окружения DOCKER_CONFIG не определена, и $DOCKER_CONFIG/config.json в противном случае.
  • Этот модуль использует Docker SDK for Python для взаимодействия с Docker daemon.

Примеры

- name: Set command and arguments
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    command: sleep
    args:
      - "3600"

- name: Set a bind mount
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    mounts:
      - source: /tmp/
        target: /remote_tmp/
        type: bind

- name: Set service labels
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    labels:
      com.example.description: "Accounting webapp"
      com.example.department: "Finance"

- name: Set environment variables
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    env:
      ENVVAR1: envvar1
      ENVVAR2: envvar2
    env_files:
      - envs/common.env
      - envs/apps/web.env

- name: Set fluentd logging
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    logging:
      driver: fluentd
      options:
        fluentd-address: "127.0.0.1:24224"
        fluentd-async-connect: "true"
        tag: myservice

- name: Set restart policies
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    restart_config:
      condition: on-failure
      delay: 5s
      max_attempts: 3
      window: 120s

- name: Set update config
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    update_config:
      parallelism: 2
      delay: 10s
      order: stop-first

- name: Set rollback config
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine
    update_config:
      failure_action: rollback
    rollback_config:
      parallelism: 2
      delay: 10s
      order: stop-first

- name: Set placement preferences
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    placement:
      preferences:
        - spread: node.labels.mylabel
      constraints:
        - node.role == manager
        - engine.labels.operatingsystem == ubuntu 14.04

- name: Set configs
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    configs:
      - config_name: myconfig_name
        filename: "/tmp/config.txt"

- name: Set networks
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    networks:
      - mynetwork

- name: Set networks as a dictionary
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    networks:
      - name: "mynetwork"
        aliases:
          - "mynetwork_alias"
        options:
          foo: bar

- name: Set secrets
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    secrets:
      - secret_name: mysecret_name
        filename: "/run/secrets/secret.txt"

- name: Start service with healthcheck
  community.docker.docker_swarm_service:
    name: myservice
    image: nginx:1.13
    healthcheck:
      # Check if nginx server is healthy by curl'ing the server.
      # If this fails or timeouts, the healthcheck fails.
      test: ["CMD", "curl", "--fail", "http://nginx.host.com"]
      interval: 1m30s
      timeout: 10s
      retries: 3
      start_period: 30s

- name: Configure service resources
  community.docker.docker_swarm_service:
    name: myservice
    image: alpine:edge
    reservations:
      cpus: 0.25
      memory: 20M
    limits:
      cpus: 0.50
      memory: 50M

- name: Remove service
  community.docker.docker_swarm_service:
    name: myservice
    state: absent

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

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

Ключ Возвращаемое значение Описание
changes
list / elements=string
всегда
Список изменённых атрибутов сервиса, если сервис был изменён, в противном случае — [].

Пример:
['container_labels', 'replicas']
rebuilt
boolean
всегда
True, если сервис был пересоздан (удален и создан)

Пример:
True
swarm_service
dictionary
всегда
Словарь переменных, представляющих текущее состояние сервиса. Соответствует формату параметров модуля.
Обратите внимание, что факты не являются частью зарегистрированных переменных, а доступны напрямую.
Обратите внимание, что до Ansible 2.7.9 возвращаемая переменная была документирована как ansible_swarm_service, в то время как модуль фактически возвращал переменную, называемую ansible_docker_service. В Ansible 2.7.9 и Ansible 2.8.0 переменная была переименована в swarm_service как в коде, так и в документации. В Ansible 2.7.x старое имя ansible_docker_service всё ещё можно использовать.

Пример:
{ "args": [ "3600" ], "command": [ "sleep" ], "configs": null, "constraints": [ "node.role == manager", "engine.labels.operatingsystem == ubuntu 14.04" ], "container_labels": null, "dns": null, "dns_options": null, "dns_search": null, "endpoint_mode": null, "env": [ "ENVVAR1=envvar1", "ENVVAR2=envvar2" ], "force_update": null, "groups": null, "healthcheck": { "interval": 90000000000, "retries": 3, "start_period": 30000000000, "test": [ "CMD", "curl", "--fail", "http://nginx.host.com" ], "timeout": 10000000000 }, "healthcheck_disabled": false, "hostname": null, "hosts": null, "image": "alpine:latest@sha256:b3dbf31b77fd99d9c08f780ce6f5282aba076d70a513a8be859d8d3a4d0c92b8", "labels": { "com.example.department": "Finance", "com.example.description": "Accounting webapp" }, "limit_cpu": 0.5, "limit_memory": 52428800, "log_driver": "fluentd", "log_driver_options": { "fluentd-address": "127.0.0.1:24224", "fluentd-async-connect": "true", "tag": "myservice" }, "mode": "replicated", "mounts": [ { "readonly": false, "source": "/tmp/", "target": "/remote_tmp/", "type": "bind", "labels": null, "propagation": null, "no_copy": null, "driver_config": null, "tmpfs_size": null, "tmpfs_mode": null } ], "networks": null, "placement_preferences": [ { "spread": "node.labels.mylabel" } ], "publish": null, "read_only": null, "replicas": 1, "reserve_cpu": 0.25, "reserve_memory": 20971520, "restart_policy": "on-failure", "restart_policy_attempts": 3, "restart_policy_delay": 5000000000, "restart_policy_window": 120000000000, "secrets": null, "stop_grace_period": null, "stop_signal": null, "tty": null, "update_delay": 10000000000, "update_failure_action": null, "update_max_failure_ratio": null, "update_monitor": null, "update_order": "stop-first", "update_parallelism": 2, "user": null, "working_dir": null }


Авторы

  • Dario Zanzico (@dariko)
  • Jason Witkowski (@jwitko)
  • Hannes Ljungberg (@hannseman)

© 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/docker/docker_swarm_service_module.html

Spec-Zone.ru

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