community.docker.docker_machine: инвентаризация – источник инвентаризации Docker Machine
Примечание
Этот плагин инвентаризации входит в коллекцию community.docker (версия 5.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.docker. Для использования этого плагина инвентаризации требуются дополнительные компоненты; подробную информацию см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.docker.docker_machine.
Краткое описание
- Получает узлы инвентаризации из Docker Machine.
- Использует файл конфигурации YAML с расширением
docker_machine.(yml|yaml). - Плагин задаёт стандартные переменные узла
ansible_host,ansible_port,ansible_userиansible_ssh_private_key. - Плагин сохраняет переменные вывода команды ‘env’ Docker Machine в переменные узла с префиксом
dm_.
Требования
Перечисленные ниже компоненты должны быть установлены на локальном управляющем узле, который выполняет эту инвентаризацию.
Параметры
Параметр | Комментарии |
|---|---|
compose словарь | Создаёт переменные на основе выражений Jinja2. По умолчанию: |
daemon_env строка | Определяет, следует ли получать переменные среды подключения к демону Docker и как вести себя, если получить их не удаётся. При значениях При значениях При значении Если переменные получены успешно, к ним будет добавлен префикс Варианты:
|
filters список / элементы=словарь добавлено в community.docker 3.5.0 | Список фильтров включения и исключения, позволяющий выбирать или отменять выбор узлов для этой инвентаризации. Фильтры обрабатываются последовательно, пока не будет найден первый фильтр, соответствующий |
|
exclude строка |
Условие Jinja2. Если оно выполняется для узла, этот узел исключается. Можно указать только один из параметров |
|
include строка |
Условие Jinja2. Если оно выполняется для узла, этот узел включается. Можно указать только один из параметров |
groups словарь | Добавляет узлы в группы на основе условий Jinja2. По умолчанию: |
keyed_groups список / элементы=словарь | Добавляет узлы в группы на основе значений переменной. По умолчанию: |
|
default_value строка добавлено в ansible-core 2.12 |
Значение по умолчанию, если значение переменной узла равно Этот параметр несовместим с |
|
key строка |
Ключ входного словаря, используемый для создания групп. |
|
parent_group строка |
Родительская группа для группы по ключу. |
|
prefix строка |
Имя группы по ключу будет начинаться с этого префикса. По умолчанию: |
|
separator строка |
Разделитель, используемый при создании имени группы по ключу. По умолчанию: |
|
trailing_separator логическое значение добавлено в ansible-core 2.12 |
Установите этот параметр в Этот параметр несовместим с Варианты:
|
leading_separator логическое значение добавлено в ansible-core 2.11 | Используется совместно с По умолчанию имя группы по ключу, для которой не задан префикс или разделитель, начинается с подчёркивания. Это связано с тем, что префикс по умолчанию — Установите этот параметр в Если имя группы получено из отображения, разделитель по-прежнему используется для объединения элементов. Чтобы вообще не использовать разделитель в имени группы, задайте для группы по ключу пустую строку в качестве разделителя. Варианты:
|
plugin строка / обязательный | Маркер, подтверждающий, что этот файл является файлом источника для плагина Варианты:
|
running_required логическое значение | Если Варианты:
|
strict логическое значение | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда, поэтому по умолчанию такие ошибки игнорируются. Варианты:
|
use_extra_vars логическое значение добавлено в ansible-core 2.11 | Объединяет дополнительные переменные с переменными, доступными для формирования значений (наивысший приоритет). Варианты:
Конфигурация:
|
verbose_output логическое значение | Если Варианты:
|
Примечание
Перечисленные выше записи конфигурации для каждого типа записи (переменная Ansible, переменная среды и т. д.) расположены в порядке возрастания приоритета. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также расположены в порядке возрастания приоритета. Например, запись в ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Файл конфигурации должен быть файлом YAML, имя которого заканчивается на
docker_machine.ymlилиdocker_machine.yaml. Файлы с другими именами не принимаются. - На этом этапе инвентаризация ещё не завершена, поэтому автоматически заполненные группы
allиungroupedбудут отражать только то, что в них явно добавили предыдущие источники инвентаризации. - Средовые «магические переменные» недоступны во время построения инвентаризации. Например,
groupsиhostvarsещё не существуют.
Примеры
---
# Minimal example
plugin: community.docker.docker_machine
---
# Example using constructed features to create a group per Docker Machine driver
# (https://docs.docker.com/machine/drivers/), for example:
# $ docker-machine create --driver digitalocean ... mymachine
# $ ansible-inventory -i ./path/to/docker-machine.yml --host=mymachine
# {
# ...
# "digitalocean": {
# "hosts": [
# "mymachine"
# ]
# ...
# }
plugin: community.docker.docker_machine
strict: false
keyed_groups:
- separator: ''
key: docker_machine_node_attributes.DriverName
---
# Example grouping hosts by Digital Machine tag
plugin: community.docker.docker_machine
strict: false
keyed_groups:
- prefix: tag
key: 'dm_tags'
---
# Example using compose to override the default SSH behaviour of asking the user to accept the remote host key
plugin: community.docker.docker_machine
compose:
ansible_ssh_common_args: '"-o StrictHostKeyChecking=accept-new"'
Ссылки на коллекцию
© 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_machine_inventory.html