Модуль 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. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды По умолчанию: |
availability string | Назначаемая доступность узла. Если параметр не указан, доступность узла не изменяется. Варианты:
|
ca_path псевдонимы: ca_cert, tls_ca_cert, cacert_path path | Для проверки сервера используйте сертификат CA, указав путь к файлу сертификата CA. Если значение не указано в задаче, а переменная среды Этот параметр назывался |
client_cert псевдонимы: tls_client_cert, cert_path path | Путь к файлу клиентского сертификата TLS. Если значение не указано в задаче, а переменная среды |
client_key псевдонимы: tls_client_key, key_path path | Путь к файлу клиентского ключа TLS. Если значение не указано в задаче, а переменная среды |
debug boolean | Режим отладки. Варианты:
|
docker_host псевдонимы: docker_url string | URL или путь к сокету Unix, используемый для подключения к Docker API. Для подключения к удалённому хосту укажите строку TCP-подключения. Например, Если значение не указано в задаче, вместо него будет использоваться значение переменной среды По умолчанию: |
hostname string / обязательный | Имя хоста или идентификатор узла, зарегистрированного в Swarm. Если под одним и тем же именем хоста зарегистрировано несколько узлов, необходимо использовать идентификатор, иначе модуль завершится с ошибкой. |
labels dictionary | Определяемые пользователем метаданные в формате «ключ/значение», назначаемые в качестве атрибута узла. Операции с метками в этом модуле применяются к узлу Docker Swarm, указанному в Фактическое состояние меток, назначенных узлу после завершения работы модуля, зависит от значений параметров |
labels_state string | Определяет операцию с метками, назначенными узлу, и метками, указанными в параметре Установите значение Установите значение Варианты:
|
labels_to_remove list / элементы=string | Список меток, которые будут удалены из конфигурации узла. Список должен содержать только имена меток, а не их значения. Если указанная в списке метка не назначена узлу, запись игнорируется. Если метка указана и в Если |
role string | Назначаемая роль узла. Если параметр не указан, роль узла не изменяется. Варианты:
|
timeout integer | Максимальное время ожидания ответа от API в секундах. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды По умолчанию: |
tls boolean | Защищает подключение к API с помощью TLS без проверки подлинности сервера хоста Docker. Обратите внимание: если для Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Варианты:
|
tls_hostname string | При проверке подлинности сервера хоста Docker укажите ожидаемое имя сервера. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Обратите внимание, что в более ранних версиях для этого параметра использовалось значение по умолчанию Примечание: этот параметр больше не поддерживается в Docker SDK for Python 7.0.0+. Его указание в Docker SDK for Python версии 7.0.0 или новее приведёт к ошибке. |
use_ssh_client boolean добавлено в community.docker 1.5.0 | Для подключений по SSH используйте инструмент командной строки Требуется Docker SDK for Python версии 4.4.0 или новее. Варианты:
|
validate_certs псевдонимы: tls_verify boolean | Защищает подключение к API с помощью TLS и проверяет подлинность сервера хоста Docker. Если значение не указано в задаче, вместо него будет использоваться значение переменной среды Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.docker.docker, docker | Используйте |
check_mode | Поддержка: full | Модуль может работать в режиме |
diff_mode | Поддержка: none | В режиме diff будут возвращены сведения об изменениях (или о возможных изменениях в |
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 |
Ссылки на коллекцию
© 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