Spec-Zone.ru › Ansible 2.8

docker_swarm_service – служба docker swarm

Новая версия с 2.7.

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

Обзор

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

Требования

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

  • API Docker >= 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
необработанный
добавлен в 2.8
Команда для выполнения при запуске контейнера.
Команда может быть строкой, списком или списком строк.
Соответствует параметру 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 владельца файла конфигурации.
constraints
список
Список ограничений сервиса.
Соответствует параметру --constraint в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр placement.constraints вместо него.
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
список
добавлен в 2.8
Список путей к файлам, присутствующим на целевом сервере, содержащим переменные окружения FOO=BAR.
Порядок списка имеет значение для определения значения переменной, которая встречается более одного раза.
Если переменная также присутствует в env, значение env будет переопределять.
force_update
булево
    Варианты:
  • нет ←
  • да
Выполнить обновление даже если изменений нет.
Соответствует параметру --force в docker service update.
Требуется версия API >= 1.25.
groups
список
добавлен в 2.8
Список дополнительных имён групп и/или идентификаторов, под которыми будет выполняться процесс контейнера.
Соответствует параметру --group в docker service update.
Требуется версия API >= 1.25.
healthcheck
словарь
добавлен в 2.8
Настроить проверку для определения того, являются ли контейнеры для этого сервиса «здоровыми». См. документацию инструкции Dockerfile HEALTHCHECK для получения подробной информации о работе проверок.
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
словарь
добавлен в 2.8
Словарь сопоставлений хост-IP, где имя хоста — ключ в словаре. Каждое имя хоста будет добавлено в файл /etc/hosts контейнера.
Соответствует параметру --host в docker service create.
Требуется версия API >= 1.25.
image
строка / обязательно
Путь и тэг изображения сервиса.
Соответствует параметру IMAGE в docker service create.
labels
словарь
Словарь пар ключ-значение.
Соответствует параметру --label в docker service create.
limit_cpu
вещественное число
Предел ЦП сервиса. 0 соответствует отсутствию ограничения.
Соответствует параметру --limit-cpu в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр limits.cpus вместо этого.
limit_memory
строка
Предел памяти сервиса в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024 байта), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 соответствует отсутствию ограничения.
Если единица измерения опущена, по умолчанию предполагаются байты.
Соответствует параметру --limit-memory в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр limits.memory вместо этого.
limits
словарь
добавлен в 2.8
Настройка лимитов ресурсов сервиса.
cpus
вещественное число
Предел ЦП сервиса. 0 соответствует отсутствию ограничения.
Соответствует параметру --limit-cpu в docker service create.
memory
строка
Предел памяти сервиса в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024 байта), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 соответствует отсутствию ограничения.
Если единица измерения опущена, по умолчанию предполагаются байты.
Соответствует параметру --limit-memory в docker service create.
log_driver
строка
Настройка драйвера логирования для сервиса.
Соответствует параметру --log-driver в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр logging.driver вместо этого.
log_driver_options
словарь
Параметры для драйвера логирования сервиса.
Соответствует параметру --log-opt в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр logging.options вместо этого.
logging
словарь
добавлен в 2.8
Настройка логирования для сервиса.
driver
строка
Настройка драйвера логирования для сервиса.
Соответствует параметру --log-driver в docker service create.
options
словарь
Параметры для драйвера логирования сервиса.
Соответствует параметру --log-opt в docker service create.
mode
строка
    Выбори:
  • replicated ←
  • глобальный
Режим репликации сервиса.
Сервис будет удален и пересоздан при изменении.
Соответствует параметру --mode в docker service create.
mounts
список
Список словарей, описывающих подключения сервиса.
Соответствует параметру --mount в docker service create.
driver_config
словарь
добавлен в 2.8
Настройка драйвера томов.
Можно использовать только когда mode равен volume.
name
строка
Имя плагина драйвера томов для использования с томом.
options
словарь
Параметры в виде пар ключ-значение, передаваемые драйверу для этого тома.
labels
словарь
добавлен в 2.8
Метки тома для применения.
no_copy
логический
добавлен в 2.8
    Выбори:
  • нет
  • да
Отключить копирование данных из контейнера при создании тома.
Можно использовать только когда mode равен volume.
propagation
строка
добавлен в 2.8
    Выбори:
  • shared
  • slave
  • private
  • rshared
  • rslave
  • rprivate
Режим распространения.
Можно использовать только когда mode равен bind.
readonly
логический
    Выбори:
  • нет
  • да
Должен ли этот том быть только для чтения?
source
строка
Источник подключения (например, имя тома или путь на хосте).
Требуется, если тип не tmpfs.
target
строка / обязательно
Путь в контейнере.
tmpfs_mode
целое число
добавлен в 2.8
Режим файла tmpfs в восьмеричном формате.
Можно использовать только когда mode равен tmpfs.
tmpfs_size
строка
добавлен в 2.8
Размер подмонтированного tmpfs в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
Может быть использован только при mode равном tmpfs.
type
строка
    Варианты:
  • bind ←
  • volume
  • tmpfs
Тип монтирования.
name
строка / обязательно
Имя сервиса.
Соответствует параметру --name в docker service create.
networks
список
Список имён сетей сервиса.
До версии API 1.29 обновление и удаление сетей не поддерживается. Если изменения будут внесены, сервис будет удалён и пересоздан.
Соответствует параметру --network в docker service create.
placement
словарь
добавлен в 2.8
Настройка предпочтений и ограничений размещения сервиса.
constraints
список
Список ограничений сервиса.
Соответствует параметру --constraint в docker service create.
preferences
список
Список предпочтений размещения в виде пар ключ-значение.
Соответствует параметру --placement-pref в docker service create.
Требуется версия API >= 1.27.
publish
список
Список словарей, описывающих опубликованные порты сервиса.
Соответствует параметру --publish в docker service create.
Требуется версия API >= 1.25.
mode
строка
    Варианты:
  • ingress
  • host
Использовать режим публикации.
Требуется версия API >= 1.32.
protocol
строка
    Варианты:
  • tcp ←
  • udp
Использовать протокол.
published_port
целое число / обязательно
Порт, доступный извне.
target_port
целое число / обязательно
Порт внутри контейнера для экспонирования.
read_only
булево
добавлен в 2.8
    Варианты:
  • no
  • yes
Монтировать корневую файловую систему контейнера в режиме только для чтения.
Соответствует параметру --read-only в docker service create.
replicas
целое число
По умолчанию:
-1
Количество экземпляров контейнеров в сервисе. Действительно только если mode равен replicated.
Если установлено значение -1, а сервис отсутствует, реплики сервиса будут установлены в 1.
Если установлено значение -1, а сервис присутствует, реплики сервиса останутся неизменными.
Соответствует параметру --replicas в docker service create.
reservations
словарь
добавлен в 2.8
Настройка резервации ресурсов сервиса.
cpus
вещественное число
Резервирование ЦП сервиса. 0 соответствует отсутствию резервирования.
Соответствует параметру --reserve-cpu в docker service create.
memory
строка
Резервирование памяти сервиса в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 соответствует отсутствию резервирования.
Пропуск единицы измерения по умолчанию соответствует байтам.
Соответствует параметру --reserve-memory в docker service create.
reserve_cpu
вещественное число
Резервирование ЦП сервиса. 0 соответствует отсутствию резервирования.
Соответствует параметру --reserve-cpu в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр reservations.cpus вместо него.
reserve_memory
строка
Резервирование памяти сервиса в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 соответствует отсутствию резервирования.
Пропуск единицы измерения по умолчанию соответствует байтам.
Соответствует параметру --reserve-memory в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр reservations.memory вместо него.
resolve_image
булево
добавлен в 2.8
    Варианты:
  • no ←
  • yes
Если текущий дайджест образа должен быть решен из реестра и обновлён при изменении.
Требуется версия API >= 1.30.
restart_config
словарь
добавлен в 2.8
Настройка перезапуска контейнеров при их завершении.
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.
restart_policy
строка
    Варианты:
  • none
  • on-failure
  • any
Условие перезапуска сервиса.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр restart_config.condition вместо него.
Соответствует параметру --restart-condition в docker service create.
restart_policy_attempts
целое число
Максимальное количество перезапусков службы.
Соответствует параметру --restart-condition в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр restart_config.max_attempts вместо него.
restart_policy_delay
сырое
Задержка между перезапусками.
Принимает длительность как целое число в наносекундах или как строку в формате, напоминающем: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --restart-delay в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр restart_config.delay вместо него.
restart_policy_window
сырое
Окно оценки политики перезапуска.
Принимает длительность как целое число в наносекундах или как строку в формате, напоминающем: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --restart-window в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр restart_config.window вместо него.
rollback_config
словарь
добавлено в 2.8
Настройка способа отката службы в случае сбоя обновления.
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
строка
    Варианты:
  • stop-first
  • start-first
Определяет порядок операций при откатах.
Соответствует параметру --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
строка
добавлено в 2.8
Время ожидания перед принудительным завершением контейнера.
Принимает длительность как строку в формате, напоминающем: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --stop-grace-period в docker service create.
stop_signal
строка
добавлено в 2.8
Переопределение сигнала по умолчанию, используемого для остановки контейнера.
Соответствует параметру --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.
Соответствует параметру --tty в docker service create.
Требуется версия API ≥ 1.25.
update_config
словарь
добавлено в 2.8
Настраивает, как служба должна обновляться. Полезно для настройки постепенных обновлений.
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
строка
Время мониторинга обновленных задач на наличие ошибок.
Принимает строку в формате, похожем на: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-monitor модуля docker service create.
Требуется API версия >= 1.25.
order
строка
    Варианты:
  • stop-first
  • start-first
Указывает порядок операций при постепенном развертывании обновленной задачи.
Соответствует параметру --update-order модуля docker service create.
Требуется API версия >= 1.29.
parallelism
целое число
Параллелизм постепенного обновления.
Соответствует параметру --update-parallelism модуля docker service create.
update_delay
raw
Задержка постепенного обновления.
Принимает длительность как целое число в наносекундах или строку в формате, похожем на: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-delay модуля docker service create.
До версии Ansible 2.8 значение по умолчанию для этого параметра было 10.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр update_config.delay вместо него.
update_failure_action
строка
    Варианты:
  • continue
  • pause
  • rollback
Действие, которое следует предпринять в случае сбоя контейнера.
Соответствует параметру --update-failure-action модуля docker service create.
Использование rollback требует API версии >= 1.29.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр update_config.failure_action вместо него.
update_max_failure_ratio
вещественное число
Доля задач, которые могут завершиться ошибкой во время обновления, прежде чем будет выполнено действие при ошибке.
Соответствует параметру --update-max-failure-ratio модуля docker service create.
Требуется API версия >= 1.25.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр update_config.max_failure_ratio вместо него.
update_monitor
raw
Время мониторинга обновленных задач на наличие ошибок.
Принимает длительность как целое число в наносекундах или строку в формате, похожем на: 5h34m56s, 1m30s и т. д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-monitor модуля docker service create.
Требуется API версия >= 1.25.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр update_config.monitor вместо него.
update_order
строка
    Варианты:
  • stop-first
  • start-first
Указывает порядок операций при постепенном развертывании обновленной задачи.
Соответствует параметру --update-order модуля docker service create.
Требуется API версия >= 1.29.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр update_config.order вместо него.
update_parallelism
целое число
Параллелизм постепенного обновления.
Соответствует параметру --update-parallelism модуля docker service create.
До версии Ansible 2.8 значение по умолчанию для этого параметра было 1.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр update_config.parallelism вместо него.
user
строка
Устанавливает имя пользователя или UID, используемый для указанной команды.
До версии Ansible 2.8 значение по умолчанию для этого параметра было root.
Значение по умолчанию было удалено, чтобы в случае отсутствия указанного здесь пользователя использовался пользователь, определенный в образе.
Соответствует параметру --user модуля docker service create.
validate_certs
логическое значение
    Варианты:
  • нет ←
  • да
Обеспечение безопасности подключения к API с помощью TLS и проверки подлинности сервера Docker-хоста.
Если значение не указано в задаче, будет использовано значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не задана, будет использовано значение по умолчанию.

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

Примечания

Примечание

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

Примеры

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

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

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

- name: Set environment variables
  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
  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
  docker_swarm_service:
    name: myservice
    image: alpine
    restart_config:
      condition: on-failure
      delay: 5s
      max_attempts: 3
      window: 120s

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

- name: Set rollback config
  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
  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
  docker_swarm_service:
    name: myservice
    image: alpine:edge
    configs:
      - config_id: myconfig_id
        config_name: myconfig_name
        filename: "/tmp/config.txt"

- name: Set networks
  docker_swarm_service:
    name: myservice
    image: alpine:edge
    networks:
      - mynetwork

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

- name: Start service with healthcheck
  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
  docker_swarm_service:
    name: myservice
    image: alpine:edge
    reservations:
      cpus: 0.25
      memory: 20M
    limits:
      cpus: 0.50
      memory: 50M

- name: Remove service
  docker_swarm_service:
    name: myservice
    state: absent

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

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

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

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

Пример:
True
swarm_service
словарь
всегда
Словарь переменных, представляющих текущее состояние службы. Соответствует формату параметров модуля.
Обратите внимание, что факты не являются частью зарегистрированных переменных, но к ним можно получить доступ напрямую.
Обратите внимание, что до 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 }


Статус

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

Авторы

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

Подсказка

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

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

Spec-Zone.ru

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