community.kubevirt.kubevirt – KubeVirt источник инвентаризации
Примечание
Этот плагин является частью коллекции community.kubevirt (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.kubevirt.
Для использования в плейбуке укажите: community.kubevirt.kubevirt.
Обзор
- Извлечение работающих VirtualMachines для одного или нескольких пространств имён.
- Группировка по пространству имён, namespace_vms и меткам.
- Использует файл конфигурации kubevirt.(yml|yaml) YAML для установки значений параметров.
Требования
Ниже перечислены требования к локальному контроллеру узлу, на котором выполняется этот инвентарь.
- openshift >= 0.6
- PyYAML >= 3.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии | |
|---|---|---|---|---|
| cache boolean |
| записи ini: [inventory] env:ANSIBLE_INVENTORY_CACHE | Включить/отключить кэширование исходных данных инвентаря, требует настройки плагина кэша для работы. | |
| cache_connection строка | записи ini: [defaults] [inventory] env:ANSIBLE_CACHE_PLUGIN_CONNECTION env:ANSIBLE_INVENTORY_CACHE_CONNECTION | Данные или путь к соединению кэша, для получения спецификаций см. документацию по плагину кэша. | ||
| cache_plugin строка | Значение по умолчанию: "память" | записи ini: [defaults] [inventory] env:ANSIBLE_CACHE_PLUGIN env:ANSIBLE_INVENTORY_CACHE_PLUGIN | Плагин кэша для использования исходных данных инвентаря. | |
| cache_prefix строка | Значение по умолчанию: "ansible_inventory_" | записи ini: [default] [inventory] env:ANSIBLE_CACHE_PLUGIN_PREFIX env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX | Префикс для использования в файлах/таблицах плагина кэша | |
| cache_timeout целое число | Значение по умолчанию: 3600 | записи ini: [defaults] [inventory] env:ANSIBLE_CACHE_PLUGIN_TIMEOUT env:ANSIBLE_INVENTORY_CACHE_TIMEOUT | Время хранения кэша в секундах | |
| compose словарь | Значение по умолчанию: {} | Создание переменных из выражений jinja2. | ||
| connections список / элементы=строка | Необязательный список настроек подключения к кластеру. Если подключения не указаны, будет использоваться по умолчанию ~/.kube/config и активный контекст, и объекты будут возвращаться для всех пространств имён, к которым активный пользователь имеет право доступа. | |||
| annotation_variable строка | Значение по умолчанию: "ansible" | Укажите имя аннотации, которая предоставляет данные, которые должны использоваться в качестве переменных хоста инвентаря. Обратите внимание, что значение в аннотациях ansible должно быть json. | ||
| api_key строка | Токен, используемый для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_API_KEY. | |||
| api_version строка | Укажите версию API KubeVirt. | |||
| cert_file строка | Путь к сертификату, используемому для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_CERT_FILE. | |||
| context строка | Имя контекста, найденного в файле конфигурации. Также можно указать через переменную окружения K8S_AUTH_CONTEXT. | |||
| host строка | Укажите URL для доступа к API. Также можно указать через переменную окружения K8S_AUTH_HOST. | |||
| key_file строка | Путь к файлу ключа, используемому для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_HOST. | |||
| kubeconfig строка | Путь к существующему файлу конфигурации Kubernetes. Если не указан и не указаны другие параметры подключения, клиент OpenShift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также можно указать через переменную окружения K8S_AUTH_KUBECONFIG. | |||
| name строка | Необязательное имя для назначения кластера. Если не указано, имя создаётся из сервера и порта. | |||
| namespaces список / элементы=строка | Список пространств имен. Если не указан, будут извлечены все виртуальные машины для всех пространств имён, к которым пользователь имеет доступ. | |||
| network_name строка | В случае нескольких сетевых подключений к виртуальной машине, укажите, какой интерфейс должен возвращаться как основной IP-адрес. псевдонимы: имя_интерфейса | |||
| password строка | Укажите пароль для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_PASSWORD. | |||
| ssl_ca_cert строка | Путь к сертификату CA, используемому для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_SSL_CA_CERT. | |||
| username строка | Укажите имя пользователя для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_USERNAME. | |||
| verify_ssl boolean |
| Требовать проверку SSL-сертификатов сервера API. Также можно указать через переменную окружения K8S_AUTH_VERIFY_SSL. | ||
| groups словарь | Значение по умолчанию: {} | Добавление хостов в группу на основе условных операторов Jinja2. | ||
| host_format строка | Значение по умолчанию: "{namespace}-{name}-{uid}" | Укажите формат хоста в группе инвентаря. | ||
| keyed_groups список / элементы=строка | Значение по умолчанию: [] | Добавление хостов в группу на основе значений переменной. | ||
| leading_separator boolean добавлен в 2.11 ansible.builtin |
| Используйте в сочетании с keyed_groups. По умолчанию, группа keyed, у которой нет префикса или разделителя, будет иметь имя, начинающееся с нижнего подчёркивания. Это потому, что префикс по умолчанию — "", а разделитель по умолчанию — "_". Установите этот параметр в значение False, чтобы опустить ведущее нижнее подчёркивание (или другой разделитель), если не задан префикс. Если имя группы получено из отображения, разделитель по-прежнему используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, задайте для разделителя группы пустую строку. | ||
| plugin строка / обязательно |
| Токен, который гарантирует, что это исходный файл для плагина 'kubevirt'. | ||
| strict boolean |
| Если yes сделать недопустимые записи ошибкой, иначе пропустить и продолжить.Поскольку в выражениях можно использовать факты, они могут не всегда быть доступны, и мы игнорируем эти ошибки по умолчанию. | ||
| use_extra_vars boolean добавлен в 2.11 ansible.builtin |
| записи ini: [inventory_plugins] env:ANSIBLE_INVENTORY_USE_EXTRA_VARS | Объединить дополнительные переменные в доступные переменные для композиции (наивысший приоритет). | |
Примеры
# File must be named kubevirt.yaml or kubevirt.yml
# Authenticate with token, and return all virtual machines for all namespaces
plugin: community.kubevirt.kubevirt
connections:
- host: https://kubevirt.io
token: xxxxxxxxxxxxxxxx
ssl_verify: false
# Use default config (~/.kube/config) file and active context, and return vms with interfaces
# connected to network myovsnetwork and from namespace vms
plugin: community.kubevirt.kubevirt
connections:
- namespaces:
- vms
network_name: myovsnetwork
Авторы
- Команда KubeVirt (@kubevirt)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/kubevirt/kubevirt_inventory.html