kubevirt – Источник инвентаризации KubeVirt
Новая версия с 2.8.
Обзор
- Получение запущенных VirtualMachines для одного или нескольких пространств имён.
- Группировка по пространству имён, namespace_vms и меткам.
- Использует конфигурационный файл kubevirt.(yml|yaml) 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: 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: kubevirt
connections:
- namespaces:
- vms
network_name: myovsnetwork
Статус
- Данная инвентаризация не гарантирует обратной совместимости. [превью]
- Эта инвентаризация поддерживается сообществом Ansible. [community]
Авторы
- Команда 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.8/plugins/inventory/kubevirt.html