community.kubevirt.kubevirt – Источник инвентаризации KubeVirt
Примечание
Этот плагин входит в коллекцию community.kubevirt (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.kubevirt
Для использования в книге задач укажите: community.kubevirt.kubevirt
Обзор
- Получение запущенных виртуальных машин для одного или нескольких пространств имён.
- Группировка по пространству имён, пространствам имён с ВМ и меткам.
- Использует файл конфигурации kubevirt.(yml|yaml), чтобы установить значения параметров.
Требования
Нижеперечисленные требования необходимы на локальном узле контроллера, выполняющем эту инвентаризацию.
- openshift >= 0.6
- PyYAML >= 3.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии | |
|---|---|---|---|---|
| cache логический |
| записи ini: [inventory] переменная окружения:ANSIBLE_INVENTORY_CACHE | Включает/выключает кэширование исходных данных инвентаризации, требует настройки плагина кэша для работы. | |
| cache_connection строка | записи ini: [defaults] [inventory] переменная окружения:ANSIBLE_CACHE_PLUGIN_CONNECTION переменная окружения:ANSIBLE_INVENTORY_CACHE_CONNECTION | Данные или путь к подключению к кэшу, читайте документацию по плагину кэша для деталей. | ||
| cache_plugin строка | Значение по умолчанию: "память" | записи ini: [defaults] [inventory] переменная окружения:ANSIBLE_CACHE_PLUGIN переменная окружения:ANSIBLE_INVENTORY_CACHE_PLUGIN | Плагин кэша для использования исходных данных инвентаризации. | |
| cache_prefix строка | Значение по умолчанию: "ansible_inventory_" | записи ini: [default] [inventory] переменная окружения:ANSIBLE_CACHE_PLUGIN_PREFIX переменная окружения:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX | Префикс для использования файлов/таблиц плагина кэша | |
| cache_timeout целое число | Значение по умолчанию: 3600 | записи ini: [defaults] [inventory] переменная окружения:ANSIBLE_CACHE_PLUGIN_TIMEOUT переменная окружения: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 логический |
| Подтверждать ли сертификаты SSL сервера API. Также может быть указан через переменную среды K8S_AUTH_VERIFY_SSL. | ||
| groups словарь | Значение по умолчанию: {} | Добавить узлы в группу на основе условных операторов Jinja2. | ||
| host_format строка | Значение по умолчанию: "{namespace}-{name}-{uid}" | Укажите формат имени узла в группе инвентаризации. | ||
| keyed_groups список / элементы=строка | Значение по умолчанию: [] | Добавить узлы в группу на основе значений переменной. | ||
| plugin строка / обязательно |
| токен, гарантирующий, что это исходный файл для плагина 'kubevirt'. | ||
| strict логический |
| Если yes, считать некорректные записи ошибкой, иначе пропустить и продолжить.Поскольку в выражениях можно использовать фактические данные, они могут быть недоступны, и мы игнорируем эти ошибки по умолчанию. | ||
Примеры
# 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/kubevirt/kubevirt_inventory.html