Spec-Zone.ru › Ansible 2.9

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
Настроить проверку, которая выполняется для определения того, являются ли контейнеры для этого сервиса «здоровыми». Смотрите документацию по инструкции HEALTHCHECK Dockerfile instruction для получения подробной информации о том, как работают проверки состояния.
interval, timeout и start_period указаны как продолжительности. Они принимают продолжительность как строку в формате, похожем на: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Требуется версия API >= 1.25.
интервал
строка
Время между выполнением проверки.
повторные попытки
целое число
Необходимые последовательные сбои для отметки как неисправного. Принимает целое число.
период_начала
строка
Период начала для инициализации контейнера перед запуском отсчёта попыток проверки работоспособности.
тест
сырой
Команда для проверки работоспособности.
Должна быть строкой или списком. Если список, первый элемент должен быть одним из NONE, CMD или CMD-SHELL.
таймаут
строка
Максимальное время для выполнения одной проверки.
имя_хоста
строка
Имя хоста контейнера.
Соответствует параметру --hostname в docker service create.
Требуется версия API ≥ 1.25.
хосты
словарь
добавлено в 2.8
Словарь сопоставлений хост-IP, где имя хоста является ключом в словаре. Каждое имя хоста будет добавлено в файл /etc/hosts контейнера.
Соответствует параметру --host в docker service create.
Требуется версия API ≥ 1.25.
образ
строка
Путь и метка изображения службы.
Соответствует параметру IMAGE в docker service create.
метки
словарь
Словарь пар ключ-значение.
Соответствует параметру --label в docker service create.
ограничение_cpu
вещественное число
Ограничение ЦП службы. 0 — означает без ограничений.
Соответствует параметру --limit-cpu в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр limits.cpus вместо этого.
ограничение_памяти
строка
Ограничение памяти службы в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 — означает без ограничений.
Опускание единицы измерения по умолчанию означает байты.
Соответствует параметру --limit-memory в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр limits.memory вместо этого.
ограничения
словарь
добавлено в 2.8
Настройка ограничений ресурсов службы.
cpu
вещественное число
Ограничение ЦП службы. 0 — означает без ограничений.
Соответствует параметру --limit-cpu в docker service create.
память
строка
Ограничение памяти службы в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 — означает без ограничений.
Опускание единицы измерения по умолчанию означает байты.
Соответствует параметру --limit-memory в docker service create.
драйвер_журнала
строка
Настройка драйвера логгирования для службы.
Соответствует параметру --log-driver в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр logging.driver вместо этого.
опции_драйвера_журнала
словарь
Параметры драйвера логгирования службы.
Соответствует параметру --log-opt в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр logging.options вместо этого.
логгирование
словарь
добавлено в 2.8
Настройка логгирования для службы.
драйвер
строка
Настройка драйвера логгирования для службы.
Соответствует параметру --log-driver в docker service create.
опции
словарь
Параметры драйвера логгирования службы.
Соответствует параметру --log-opt в docker service create.
режим
строка
    Варианты:
  • replicated ←
  • глобальный
Режим репликации службы.
Служба будет удалена и пересоздана при изменении.
Соответствует параметру --mode в docker service create.
моунты
список / элементы=словарь
Список словарей, описывающих моунты службы.
Соответствует параметру --mount в docker service create.
конфигурация_драйвера
словарь
добавлено в 2.8
Конфигурация драйвера томов.
Может быть использована только, когда режим — volume.
имя
строка
Имя плагина драйвера томов, используемого для тома.
опции
словарь
Параметры в формате ключ-значение, передаваемые драйверу для данного тома.
метки
словарь
добавлено в 2.8
Метки тома для применения.
без_копирования
булево
добавлено в 2.8
    Варианты:
  • нет
  • да
Отключить копирование данных из контейнера при создании тома.
Может быть использована только, когда режим — volume.
распространение
строка
добавлено в 2.8
    Варианты:
  • общий
  • ведомый
  • приватный
  • общий_с_репликацией
  • ведомый_с_репликацией
  • приватный_с_репликацией
Режим распространения, который необходимо использовать.
Может быть использована только, когда режим — bind.
только_для_чтения
булево
    Варианты:
  • нет
  • да
Должен ли моунт быть только для чтения.
источник
строка
Источник моунта (например, имя тома или путь на хосте).
Должен быть указан, если тип не tmpfs.
цель
строка / обязательно
Путь в контейнере.
режим_tmpfs
целое число
добавлено в 2.8
Сводный режим tmpfs в восьмеричном формате.
Может быть использована только, когда режим — tmpfs.
tmpfs_size
строка
добавлен в 2.8
Размер подмонтирования tmpfs в формате <number>[<unit>]. Число — положительное целое. Единицей измерения может быть B (байт), K (кибибайт, 1024Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
Можно использовать только при mode tmpfs.
type
строка
    Варианты:
  • bind ←
  • volume
  • tmpfs
  • npipe
Тип подмонтирования.
Обратите внимание, что npipe поддерживается только Docker для Windows. Также обратите внимание, что npipe был добавлен в Ansible 2.9.
name
строка / обязательно
Имя службы.
Соответствует параметру --name в docker service create.
networks
список / элементы=сырые
Список имен сетей службы или словарей.
При передаче словарей допустимыми дополнительными параметрами являются name (обязательный), aliases и options.
До версии 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
    Варианты:
  • нет
  • да
Подмонтировать корневую файловую систему контейнера в режиме только для чтения.
Соответствует параметру --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
    Варианты:
  • нет ←
  • да
Если текущий дайджест изображения должен быть получен из реестра и обновлен при изменении.
Требуется версия 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
Условие перезапуска службы.
Соответствует параметру --restart-condition в docker service create.
Устарело в 2.8, будет удалено в 2.12. Используйте параметр restart_config.condition вместо него.
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
строка
Указывает порядок операций во время отката.
Соответствует параметру --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
булево
    Варианты:
  • no ←
  • yes
Обеспечьте безопасность соединения с API с помощью TLS без проверки подлинности сервера Docker-хоста. Обратите внимание, что если validate_certs также установлено в yes, оно будет иметь приоритет.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS . Если переменная окружения не установлена, используется значение по умолчанию.
tls_hostname
строка
Значение по умолчанию:
"localhost"
При проверке подлинности сервера Docker-хоста укажите ожидаемое имя сервера.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS_HOSTNAME . Если переменная окружения не установлена, используется значение по умолчанию.
tty
boolean
    Выбор:
  • no
  • yes
Выделить псевдо-терминал.
Соответствует параметру --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
float
Доля задач, которые могут завершиться неудачно во время обновления, прежде чем будет вызвано действие при сбое.
Соответствует параметру --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
строка
Указывает порядок операций при развертывании обновлённой задачи.
Соответствует параметру --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
float
Доля задач, которые могут завершиться неудачно во время обновления, прежде чем будет вызвано действие при сбое.
Соответствует параметру --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
boolean
    Выбор:
  • нет ←
  • да
Обеспечение безопасности соединения с 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 для запуска разрешения нового образа в кластере.
  • Подключиться к демону 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://docs.docker.com/machine/reference/env/
  • При подключении к демону 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_name: myconfig_name
        filename: "/tmp/config.txt"

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

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

- name: Set secrets
  docker_swarm_service:
    name: myservice
    image: alpine:edge
    secrets:
      - 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. Переменная была переименована в swarm_service как в коде, так и в документации для Ansible 2.7.9 и Ansible 2.8.0. В 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.9/modules/docker_swarm_service_module.html

Spec-Zone.ru

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