Spec-Zone.ru › Ansible

community.docker.docker_machine инвентаризация — источник инвентаризации Docker Machine

Примечание

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

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

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

Для использования в playbook укажите: community.docker.docker_machine.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры

Описание

  • Получение узлов инвентаризации из Docker Machine.
  • Использует файл конфигурации YAML, который заканчивается docker_machine.(yml|yaml).
  • Плагин устанавливает стандартные переменные узлов ansible_host, ansible_port, ansible_user и ansible_ssh_private_key.
  • Плагин сохраняет переменные вывода Docker Machine ‘env’ в переменных узлов, начинающихся с dm_.

Требования

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

  • Docker Machine

Параметры

Параметр

Комментарии

compose

словарь

Создать переменные из выражений Jinja2.

По умолчанию: {}

daemon_env

строка

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

При require и require-silently, получить их и пропустить любой хост, для которого их нельзя получить. Будет выведено предупреждение для любого пропущенного хоста, если выбран require.

При optional и optional-silently, получить их и не пропускать хосты, для которых их нельзя получить. Будет выведено предупреждение для хостов, где их нельзя получить, если выбран optional.

При skip, не пытаться получить переменные окружения подключения демона Docker.

Если получены успешно, переменные будут иметь префикс dm_ и храниться как переменные хоста.

Варианты:

  • "require" ← (по умолчанию)
  • "require-silently"
  • "optional"
  • "optional-silently"
  • "skip"

filters

список / элементы=словарь

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

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

Фильтры обрабатываются последовательно до тех пор, пока не будет найден первый фильтр, где filters[].exclude или filters[].include совпадают. В случае, если filters[].exclude совпадает, хост исключается, а в случае, если filters[].include совпадает, хост включается. Если ни один фильтр не совпадает, хост включается.

exclude

строка

Условие Jinja2. Если оно совпадает для хоста, этот хост исключается.

Можно указать ровно один из filters[].exclude и filters[].include.

include

строка

Условие Jinja2. Если оно совпадает для хоста, этот хост включается.

Можно указать ровно один из filters[].exclude и filters[].include.

groups

словарь

Добавить хосты в группу на основе условных выражений Jinja2.

По умолчанию: {}

keyed_groups

список / элементы=словарь

Добавить хосты в группу на основе значений переменной.

По умолчанию: []

default_value

строка

добавлен в ansible-core 2.12

Значение по умолчанию, когда значение переменной хоста — пустая строка.

Этот параметр несовместим с keyed_groups[].trailing_separator.

key

строка

Ключ из входного словаря, используемый для создания групп.

parent_group

строка

родительская группа для ключевой группы

prefix

строка

Имя ключевой группы начнётся с этого префикса.

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

separator

строка

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

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

trailing_separator

логическое значение

добавлен в ansible-core 2.12

Установите этот параметр в False, чтобы исключить keyed_groups[].separator после переменной хоста, когда значение — пустая строка.

Этот параметр несовместим с keyed_groups[].default_value.

Варианты:

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

leading_separator

логическое значение

добавлен в ansible-core 2.11

Используйте вместе с keyed_groups.

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

Это потому, что по умолчанию префикс — «», а разделитель — «_».

Установите этот параметр в False, чтобы исключить ведущий символ подчеркивания (или другой разделитель), если префикс не задан.

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

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

Варианты:

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

plugin

строка / обязательно

Токен, который гарантирует, что это файл исходного кода для плагина docker_machine.

Варианты:

  • "docker_machine"
  • "community.docker.docker_machine"

running_required

логическое значение

Когда true, хосты, которые Docker Machine указывает как находящиеся в состоянии отличном от running будут пропущены.

Варианты:

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

strict

boolean

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

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

Варианты:

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

use_extra_vars

boolean

добавлен в ansible-core 2.11

Объединить дополнительные переменные с доступными переменными для композиции (высший приоритет).

Варианты:

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

Настройка:

  • Запись в INI:

    [inventory_plugins]
    use_extra_vars = false
    
  • Переменная окружения: ANSIBLE_INVENTORY_USE_EXTRA_VARS

verbose_output

boolean

При true, включить все доступные метаданные узлов (например, Image, Region, Size) как объект JSON с именем docker_machine_node_attributes.

Варианты:

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

Примечания

Примечание

  • Файл конфигурации должен быть файлом YAML, имя которого заканчивается на docker_machine.yml или docker_machine.yaml. Другие имена файлов не будут приняты.

Примеры

# 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"
#       ]
#     ...
#   }
strict: false
keyed_groups:
  - separator: ''
    key: docker_machine_node_attributes.DriverName

# Example grouping hosts by Digital Machine tag
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
compose:
  ansible_ssh_common_args: '"-o StrictHostKeyChecking=accept-new"'

Авторы

  • Ximon Eighteen (@ximon18)

Подсказка

Записи конфигурации для каждого типа имеют порядок приоритетов от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

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

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

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

Spec-Zone.ru

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