Spec-Zone.ru › Ansible 2.8

docker_node – Управление узлом Docker Swarm

Введено в версии 2.8.

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

Описание

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

Требования

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

  • Docker API >= 1.25
  • Docker SDK для Python: Обратите внимание, что модуль Python docker-py был заменён на docker (подробнее см. здесь). Для Python 2.6 необходимо использовать docker-py. В противном случае рекомендуется установить модуль Python docker. Обратите внимание, что оба модуля не должны устанавливаться одновременно. Также обратите внимание, что при установке и последующем удалении одного из модулей, другой может перестать работать, и потребуется его повторная установка.
  • Docker SDK для Python >= 2.4.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_version
строка
Значение по умолчанию:
"auto"
Версия Docker API, работающая на Docker хосте.
По умолчанию используется последняя версия API, поддерживаемая Docker SDK для Python и демоном docker.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, используется значение по умолчанию.

псевдонимы: docker_api_version
availability
строка
    Варианты:
  • active
  • pause
  • drain
Доступность узла для назначения. Если не указано, доступность узла остаётся неизменной.
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
debug
логическое
    Варианты:
  • нет ←
  • да
Режим отладки
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
hostname
строка / обязательно
Имя хоста или ID узла, зарегистрированного в Swarm.
Если более одного узла зарегистрировано с одинаковым именем хоста, необходимо использовать ID, в противном случае модуль завершится с ошибкой.
labels
словарь
Пользовательские метаданные ключ/значение, которые будут назначены как атрибуты узла.
Операции с метками в этом модуле применяются к узлу Docker swarm, указанному параметром hostname. Используйте модуль docker_swarm для добавления/изменения/удаления меток кластера swarm.
Фактическое состояние меток, назначенных узлу после завершения работы модуля, зависит от значений параметров labels_state и labels_to_remove. См. описание ниже.
labels_state
строка
    Варианты:
  • merge ←
  • replace
Определяет операцию над метками, назначенными узлу, и метками, указанными в параметре labels.
Установите значение merge для объединения меток, предоставленных в параметре labels, с уже назначенными метками узла. Если метки узлу не назначены, будут добавлены перечисленные метки. Для меток, которые уже назначены узлу, будут обновлены их значения. Метки, не указанные в параметре labels, останутся неизменными. Если параметр labels пустой, изменений не будет.
Установите значение replace для замены всех назначенных меток предоставленными. Если параметр labels пустой, все метки, назначенные узлу, будут удалены.
labels_to_remove
список
Список меток, которые будут удалены из конфигурации узла. Список должен содержать только имена меток, а не их значения.
Если метка, указанная в списке, не назначена узлу, запись игнорируется.
Если метка присутствует как в labels_to_remove, так и в labels, значение, предоставленное в labels, остаётся присвоенным узлу.
Если labels_state равно replace и labels не указан или пустой, все метки, назначенные узлу, удаляются, а labels_to_remove игнорируется.
role
строка
    Варианты:
  • manager
  • worker
Роль узла для назначения. Если не указано, роль узла остаётся неизменной.
ssl_version
строка
Укажите действительную версию SSL. Значение по умолчанию определяется модулем ssl.py.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_SSL_VERSION.
timeout
целое число
Значение по умолчанию:
60
Максимальное время в секундах ожидания ответа от API.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_TIMEOUT. Если переменная окружения не задана, используется значение по умолчанию.
tls
логическое
    Варианты:
  • нет ←
  • да
Защитите соединение с API с помощью TLS без проверки подлинности Docker хост-сервера. Обратите внимание, что если validate_certs также установлено в yes, предпочтение отдаётся ему.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS. Если переменная окружения не задана, используется значение по умолчанию.
tls_hostname
строка
Значение по умолчанию:
"localhost"
При проверке подлинности Docker хост-сервера укажите ожидаемое имя сервера.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS_HOSTNAME. Если переменная окружения не задана, используется значение по умолчанию.
validate_certs
логическое
    Варианты:
  • нет ←
  • да
Защитите соединение с API с помощью TLS и проверьте подлинность Docker хост-сервера.
Если значение не указано в задаче, используется значение переменной окружения DOCKER_TLS_VERIFY. Если переменная окружения не задана, используется значение по умолчанию.

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

Примечания

Примечание

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

Примеры

- name: Set node role
  docker_node:
    hostname: mynode
    role: manager

- name: Set node availability
  docker_node:
    hostname: mynode
    availability: drain

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

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

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

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

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

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

Ключ Возвращаемое значение Описание
node
словарь
успех
Информация о узле после операции 'update'



Статус

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

Авторы

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

Подсказка

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

© 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_node_module.html

Spec-Zone.ru

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