Spec-Zone.ru › Ansible

Модуль community.docker.docker_node — управление узлом Docker Swarm

Примечание

Этот модуль входит в коллекцию community.docker (версия 5.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.docker. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.docker.docker_node.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управляет узлами Docker через менеджер Swarm.
  • Этот модуль позволяет изменять роль и доступность узла, а также изменять, добавлять или удалять метки узла.

Требования

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

  • Docker API >= 1.25
  • Docker SDK for Python: обратите внимание, что модуль Python docker-py заменён модулем docker (подробности см. здесь). Этот модуль не работает с docker-py.
  • Docker SDK for Python >= 2.4.0

Параметры

Параметр

Комментарии

api_version

псевдонимы: docker_api_version

string

Версия Docker API, работающего на хосте Docker.

По умолчанию используется последняя версия API, поддерживаемая Docker SDK for Python и демоном Docker.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_API_VERSION. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: "auto"

availability

string

Назначаемая доступность узла. Если параметр не указан, доступность узла не изменяется.

Варианты:

  • "active"
  • "pause"
  • "drain"

ca_path

псевдонимы: ca_cert, tls_ca_cert, cacert_path

path

Для проверки сервера используйте сертификат CA, указав путь к файлу сертификата CA.

Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH задана, будет использован файл ca.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

Этот параметр назывался ca_cert и был переименован в ca_path в community.docker 3.6.0. Старое имя добавлено как псевдоним и по-прежнему может использоваться.

client_cert

псевдонимы: tls_client_cert, cert_path

path

Путь к файлу клиентского сертификата TLS.

Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH задана, будет использован файл cert.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

client_key

псевдонимы: tls_client_key, key_path

path

Путь к файлу клиентского ключа TLS.

Если значение не указано в задаче, а переменная среды DOCKER_CERT_PATH задана, будет использован файл key.pem из каталога, указанного в переменной среды DOCKER_CERT_PATH.

debug

boolean

Режим отладки.

Варианты:

  • false ← (по умолчанию)
  • true

docker_host

псевдонимы: docker_url

string

URL или путь к сокету Unix, используемый для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-подключения. Например, tcp://192.0.2.23:2376. Если для шифрования подключения используется TLS, модуль автоматически заменит tcp в URL подключения на https.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_HOST. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: "unix:///var/run/docker.sock"

hostname

string / обязательный

Имя хоста или идентификатор узла, зарегистрированного в Swarm.

Если под одним и тем же именем хоста зарегистрировано несколько узлов, необходимо использовать идентификатор, иначе модуль завершится с ошибкой.

labels

dictionary

Определяемые пользователем метаданные в формате «ключ/значение», назначаемые в качестве атрибута узла.

Операции с метками в этом модуле применяются к узлу Docker Swarm, указанному в hostname. Для добавления, изменения или удаления меток кластера Swarm используйте модуль community.docker.docker_swarm.

Фактическое состояние меток, назначенных узлу после завершения работы модуля, зависит от значений параметров labels_state и labels_to_remove. См. описание ниже.

labels_state

string

Определяет операцию с метками, назначенными узлу, и метками, указанными в параметре labels.

Установите значение merge, чтобы объединить метки, указанные в labels, с уже назначенными узлу. Если метки не назначены, будут добавлены указанные метки. Значения уже назначенных узлу меток будут обновлены. Метки, не указанные в labels, останутся без изменений. Если labels пуст, изменения не будут внесены.

Установите значение replace, чтобы заменить все назначенные метки указанными. Если labels пуст, все метки, назначенные узлу, будут удалены.

Варианты:

  • "merge" ← (по умолчанию)
  • "replace"

labels_to_remove

list / элементы=string

Список меток, которые будут удалены из конфигурации узла. Список должен содержать только имена меток, а не их значения.

Если указанная в списке метка не назначена узлу, запись игнорируется.

Если метка указана и в labels_to_remove, и в labels, узлу останется назначено значение, указанное в labels.

Если labels_state=replace и labels не указаны или пусты, все метки, назначенные узлу, удаляются, а labels_to_remove игнорируется.

role

string

Назначаемая роль узла. Если параметр не указан, роль узла не изменяется.

Варианты:

  • "manager"
  • "worker"

timeout

integer

Максимальное время ожидания ответа от API в секундах.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TIMEOUT. Если переменная среды не задана, будет использовано значение по умолчанию.

По умолчанию: 60

tls

boolean

Защищает подключение к API с помощью TLS без проверки подлинности сервера хоста Docker. Обратите внимание: если для validate_certs также задано значение true, этот параметр имеет приоритет.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TLS. Если переменная среды не задана, будет использовано значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

tls_hostname

string

При проверке подлинности сервера хоста Docker укажите ожидаемое имя сервера.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TLS_HOSTNAME. Если переменная среды не задана, будет использовано значение по умолчанию.

Обратите внимание, что в более ранних версиях для этого параметра использовалось значение по умолчанию localhost. Оно было удалено в community.docker 3.0.0.

Примечание: этот параметр больше не поддерживается в Docker SDK for Python 7.0.0+. Его указание в Docker SDK for Python версии 7.0.0 или новее приведёт к ошибке.

use_ssh_client

boolean

добавлено в community.docker 1.5.0

Для подключений по SSH используйте инструмент командной строки ssh вместо paramiko.

Требуется Docker SDK for Python версии 4.4.0 или новее.

Варианты:

  • false ← (по умолчанию)
  • true

validate_certs

псевдонимы: tls_verify

boolean

Защищает подключение к API с помощью TLS и проверяет подлинность сервера хоста Docker.

Если значение не указано в задаче, вместо него будет использоваться значение переменной среды DOCKER_TLS_VERIFY. Если переменная среды не задана, будет использовано значение по умолчанию.

Варианты:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группы действий: community.docker.docker, docker

Используйте group/docker или group/community.docker.docker в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: full

Модуль может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: none

В режиме diff будут возвращены сведения об изменениях (или о возможных изменениях в check_mode).

idempotent

Поддержка: full

При повторном запуске с теми же аргументами вне режима проверки модуль сообщает об отсутствии изменений.

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

Примечания

Примечание

  • Подключайтесь к демону Docker, передавая параметры в каждой задаче или задавая переменные среды. Можно задать DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, 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] с помощью ansible.builtin.pip.
  • Обратите внимание, что Docker SDK for Python позволяет указать путь к конфигурации Docker лишь для очень небольшого числа функций. Как правило, он использует $HOME/.docker/config.json, если переменная среды DOCKER_CONFIG не указана, и $DOCKER_CONFIG/config.json в противном случае.
  • Для взаимодействия с демоном Docker этот модуль использует Docker SDK for Python.

Примеры

---
- name: Set node role
  community.docker.docker_node:
    hostname: mynode
    role: manager

- name: Set node availability
  community.docker.docker_node:
    hostname: mynode
    availability: drain

- name: Replace node labels with new labels
  community.docker.docker_node:
    hostname: mynode
    labels:
      key: value
    labels_state: replace

- name: Merge node labels and new labels
  community.docker.docker_node:
    hostname: mynode
    labels:
      key: value

- name: Remove all labels assigned to node
  community.docker.docker_node:
    hostname: mynode
    labels_state: replace

- name: Remove selected labels from the node
  community.docker.docker_node:
    hostname: mynode
    labels_to_remove:
      - key1
      - key2

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

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

Ключ

Описание

node

dictionary

Информация об узле после операции «update».

Возвращается: success

Авторы

  • Piotr Wojciechowski (@WojciechowskiPiotr)
  • Thierry Bouvet (@tbouvet)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (Docker)
  • Запросить помощь (Docker Compose)
  • Запросить помощь (Docker Swarm)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/docker/docker_node_module.html

Spec-Zone.ru

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