Spec-Zone.ru › Ansible 2.10

community.general.docker_swarm_service – docker swarm service

Примечание

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

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

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

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

Обзор

  • Управляет службами 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
сырой
Команда для выполнения при запуске контейнера.
Команда может быть строкой, списком или списком строк.
Соответствует параметру 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, будет удалено в community.general 2.0.0. Используйте параметр 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
список / элементы=путь
Список путей к файлам на целевом устройстве, содержащим переменные окружения 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
boolean
добавлен в 0.2.0 community.general
    Варианты:
  • нет
  • да
Используйте init внутри каждого контейнера службы для перенаправления сигналов и сбора процессов.
Соответствует параметру --init в docker service create.
Требуется версия API >= 1.37.
labels
словарь
Словарь пар ключ-значение.
Соответствует параметру --label в docker service create.
limit_cpu
float
Предел ЦП службы. 0 означает отсутствие предела.
Соответствует параметру --limit-cpu в docker service create.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр limits.cpus вместо него.
limit_memory
строка
Предел памяти службы в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024 байта), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 означает отсутствие предела.
Пропуск единицы измерения по умолчанию означает байты.
Соответствует параметру --limit-memory в docker service create.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр limits.memory вместо него.
limits
словарь
Настраивает пределы ресурсов службы.
cpus
float
Предел ЦП службы. 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, будет удалено в community.general 2.0.0. Используйте параметр logging.driver вместо него.
log_driver_options
словарь
Параметры для драйвера регистрации службы.
Соответствует параметру --log-opt в docker service create.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр logging.options вместо него.
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
словарь
Параметры в виде пар ключ-значение для передачи драйверу для этого тома.
labels
словарь
Метки тома для применения.
no_copy
boolean
    Варианты:
  • нет
  • да
Отключить копирование данных из контейнера при создании тома.
Может быть использована только при type равном volume.
propagation
строка
    Варианты:
  • shared
  • slave
  • private
  • rshared
  • rslave
  • rprivate
Режим распространения для использования.
Может быть использована только при type равном bind.
readonly
boolean
    Варианты:
  • нет
  • да
Должно ли монтирование быть только для чтения.
source
строка
Источник монтирования (например, имя тома или путь хоста).
Должен быть указан, если type не равен tmpfs.
target
строка / обязательно
Путь контейнера.
tmpfs_mode
целое число
Режим файла tmpfs в восьмеричном формате.
Может быть использована только при type равном tmpfs.
tmpfs_size
строка
Размер монтирования tmpfs в формате <number>[<unit>]. Число — положительное целое. Единица измерения может быть B (байт), K (кибибайт, 1024 байта), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
Может быть использована только при type равном 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
словарь
Настраивает предпочтения и ограничения размещения службы.
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
boolean
    Выборы:
  • нет
  • да
Монтировать корневую файловую систему контейнеров в режиме только для чтения.
Соответствует параметру --read-only в docker service create.
replicas
integer
По умолчанию:
-1
Количество контейнеров, созданных в службе. Действительно только если mode равен replicated.
Если установлено значение -1, и служба отсутствует, количество реплик службы будет установлено в 1.
Если установлено значение -1, и служба присутствует, количество реплик службы останется неизменным.
Соответствует параметру --replicas в docker service create.
reservations
dictionary
Настройка резервирования ресурсов службы.
cpus
float
Зарезервированные процессорные ядра службы. 0 означает отсутствие резервирования.
Соответствует параметру --reserve-cpu в docker service create.
memory
string
Зарезервированная память службы в формате <number>[<unit>]. Число — положительное целое. Единицей измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 означает отсутствие резервирования.
Если единица измерения опущена, по умолчанию используется байт.
Соответствует параметру --reserve-memory в docker service create.
reserve_cpu
float
Зарезервированные процессорные ядра службы. 0 означает отсутствие резервирования.
Соответствует параметру --reserve-cpu в docker service create.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр reservations.cpus вместо него.
reserve_memory
string
Зарезервированная память службы в формате <number>[<unit>]. Число — положительное целое. Единицей измерения может быть B (байт), K (кибибайт, 1024 Б), M (мебибайт), G (гибибайт), T (тебибайт) или P (пебибайт).
0 означает отсутствие резервирования.
Если единица измерения опущена, по умолчанию используется байт.
Соответствует параметру --reserve-memory в docker service create.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр reservations.memory вместо него.
resolve_image
boolean
    Выборы:
  • нет ←
  • да
Если текущий дайджест изображения должен быть получен из реестра и обновлен при изменении.
Требуется версия API >= 1.30.
restart_config
dictionary
Настройка перезапуска контейнеров при выходе из строя.
condition
string
    Выборы:
  • нет
  • при ошибке
  • любой
Условие перезапуска службы.
Соответствует параметру --restart-condition в docker service create.
delay
string
Задержка между перезапусками.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --restart-delay в docker service create.
max_attempts
integer
Максимальное количество перезапусков службы.
Соответствует параметру --restart-condition в docker service create.
window
string
Период оценки политики перезапуска.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --restart-window в docker service create.
restart_policy
string
    Выборы:
  • нет
  • при ошибке
  • любой
Условие перезапуска службы.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр restart_config.condition вместо него.
Соответствует параметру --restart-condition в docker service create.
restart_policy_attempts
integer
Максимальное количество перезапусков службы.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр restart_config.max_attempts вместо него.
Соответствует параметру --restart-condition в docker service create.
restart_policy_delay
raw
Задержка между перезапусками.
Принимает длительность как целое число в наносекундах или строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр restart_config.delay вместо него.
Соответствует параметру --restart-delay в docker service create.
restart_policy_window
raw
Период оценки политики перезапуска.
Принимает длительность как целое число в наносекундах или строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр restart_config.window вместо него.
Соответствует параметру --restart-window в docker service create.
rollback_config
dictionary
Настройка отката службы в случае неудачного обновления.
delay
string
Задержка между откатами задач.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --rollback-delay в docker service create.
Требуется версия API >= 1.28.
failure_action
string
    Выборы:
  • продолжить
  • приостановить
Действие в случае неудачного отката.
Соответствует параметру --rollback-failure-action в docker service create.
Требуется версия API >= 1.28.
max_failure_ratio
float
Доля задач, которые могут завершиться ошибкой при откат.
Соответствует параметру --rollback-max-failure-ratio в docker service create.
Требуется версия API >= 1.28.
monitor
string
Длительность мониторинга после каждого отката задачи для выявления ошибок.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --rollback-monitor в docker service create.
Требуется версия API >= 1.28.
order
string
Указание порядка операций при откат.
Соответствует параметру --rollback-order в docker service create.
Требуется версия API >= 1.29.
parallelism
integer
Количество контейнеров, которые откатятся одновременно. Если значение равно 0, все контейнеры откатятся одновременно.
Соответствует параметру --rollback-parallelism в docker service create.
Требуется версия API >= 1.28.
secrets
list / elements=dictionary
Список словарей, описывающих секреты службы.
Соответствует параметру --secret в docker service create.
Требуется версия API >= 1.25.
filename
string
Имя файла, содержащего секрет. По умолчанию используется secret_name, если не указано иначе.
Соответствует ключу target в docker service create --secret.
gid
string
GID группы файла секрета.
mode
integer
Режим доступа к файлам внутри контейнера. Должно быть восьмеричным числом (например, 0644 или 0444).
secret_id
string
Идентификатор секрета.
secret_name
string / required
Имя секрета, заданное при его создании.
uid
string
UID владельца файла секрета.
ssl_version
string
Укажите допустимую версию SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_SSL_VERSION.
state
string
    Choices:
  • present ←
  • absent
absent - Служба с указанным именем будет удалена, а её задачи остановлены.
present - Утверждает существование службы с соответствующим именем и параметрами конфигурации. Неуказанные параметры конфигурации будут установлены по умолчанию для Docker.
stop_grace_period
string
Время ожидания перед принудительным завершением контейнера.
Принимает продолжительность в виде строки в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --stop-grace-period в docker service create.
stop_signal
string
Переопределить используемый по умолчанию сигнал для остановки контейнера.
Соответствует параметру --stop-signal в docker service create.
timeout
integer
Default:
60
Максимальное время в секундах ожидания ответа от API.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не задана, будет использовано значение по умолчанию.
tls
boolean
    Choices:
  • no ←
  • yes
Защитить соединение с API с помощью TLS без проверки подлинности сервера Docker. Обратите внимание, что если validate_certs также задано значением yes, оно будет иметь приоритет.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS. Если переменная окружения не задана, будет использовано значение по умолчанию.
tls_hostname
string
Default:
"localhost"
При проверке подлинности сервера Docker укажите ожидаемое имя сервера.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не задана, будет использовано значение по умолчанию.
tty
boolean
    Choices:
  • no
  • yes
Выделить псевдо-TTY.
Соответствует параметру --tty в docker service create.
Требуется версия API ≥ 1.25.
update_config
dictionary
Настройка обновления службы. Полезно для настройки поэтапных обновлений.
delay
string
Задержка при поэтапном обновлении.
Принимает строку в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-delay в docker service create.
failure_action
string
    Choices:
  • 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
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.
update_delay
raw
Задержка при поэтапном обновлении.
Принимает продолжительность в виде целого числа в наносекундах или строки в формате: 5h34m56s, 1m30s и т.д. Поддерживаемые единицы измерения: us, ms, s, m и h.
Соответствует параметру --update-delay в docker service create.
До версии Ansible 2.8 значение по умолчанию для этого параметра было 10.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр update_config.delay вместо него.
update_failure_action
string
    Choices:
  • continue
  • pause
  • rollback
Действие при сбое контейнера.
Соответствует параметру --update-failure-action в docker service create.
Использование rollback требует версии API ≥ 1.29.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр update_config.failure_action вместо него.
update_max_failure_ratio
float
Доля задач, которые могут завершиться сбоем во время обновления, прежде чем будет выполнено действие при сбое.
Соответствует параметру --update-max-failure-ratio в docker service create.
Требуется версия API ≥ 1.25.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр 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, будет удалено в community.general 2.0.0. Используйте параметр update_config.monitor вместо него.
update_order
string
    Choices:
  • stop-first
  • start-first
Указывает порядок выполнения операций при поэтапном развертывании обновленной задачи.
Соответствует параметру --update-order в docker service create.
Требуется версия API ≥ 1.29.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр update_config.order вместо него.
update_parallelism
integer
Параллельность поэтапного обновления.
Соответствует параметру --update-parallelism в docker service create.
До версии Ansible 2.8 значение по умолчанию для этого параметра было 1.
Устарело в версии 2.8, будет удалено в community.general 2.0.0. Используйте параметр update_config.parallelism вместо него.
user
string
Устанавливает имя пользователя или UID, используемый для указанной команды.
До версии Ansible 2.8 значение по умолчанию для этого параметра было root.
Значение по умолчанию было удалено, чтобы при отсутствии указания пользователя использовался пользователь, определённый в образе.
Соответствует параметру --user в docker service create.
validate_certs
boolean
    Choices:
  • no ←
  • yes
Защитить соединение с API с помощью TLS и проверить подлинность сервера Docker.
Если значение не указано в задаче, будет использовано значение переменной окружения DOCKER_TLS_VERIFY. Если переменная окружения не задана, будет использовано значение по умолчанию.

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

Примечания

Примечание

  • Изображения будут обновляться только до последнего дайджеста при использовании Docker API >= 1.30 и Docker SDK для 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 для Python версии 2.4 или новее это можно сделать, установив docker[tls] с помощью ansible.builtin.pip.
  • Обратите внимание, что Docker SDK для Python позволяет указать путь к конфигурации Docker только для небольшого числа функций. В целом, он будет использовать $HOME/.docker/config.json если переменная окружения DOCKER_CONFIG не указана и $DOCKER_CONFIG/config.json в противном случае.

Примеры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример:
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 }


Авторы

  • 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.10/collections/community/general/docker_swarm_service_module.html

Spec-Zone.ru

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