Инвентаризация kubevirt.core.kubevirt — источник инвентаризации для VirtualMachines и VirtualMachineInstances KubeVirt
Примечание
Этот плагин инвентаризации входит в коллекцию kubevirt.core (версия 2.3.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install kubevirt.core. Для использования этого плагина инвентаризации требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: kubevirt.core.kubevirt.
Краткое описание
- Получает виртуальные машины из одного или нескольких пространств имён с необязательным селектором меток.
- Создаёт группы по имени кластера, пространствам имён и меткам.
- Использует файл конфигурации YAML
*.kubevirt.[yml|yaml]для задания значений параметров. - По умолчанию используется активный контекст из ~/.kube/config; будут возвращены все виртуальные машины из всех пространств имён, к которым активный пользователь имеет доступ.
Требования
Следующие требования необходимы на локальном узле контроллера, который выполняет эту инвентаризацию.
- python >= 3.9
- kubernetes >= 28.1.0
- PyYAML >= 3.11
Параметры
Параметр | Комментарии |
|---|---|
api_key string | Токен, используемый для аутентификации в API. Также можно указать с помощью переменной окружения |
api_version string | Укажите используемую версию API KubeVirt. По умолчанию: |
append_base_domain boolean | Добавлять базовый домен кластера к именам узлов, сформированным из SSH Варианты:
|
base_domain string | Переопределить базовый домен, используемый для формирования имён узлов. Используется для |
ca_cert псевдонимы: ssl_ca_cert path | Путь к сертификату CA, используемому для аутентификации в API. Чтобы избежать ошибок проверки сертификата, необходимо предоставить полную цепочку сертификатов. Также можно указать с помощью переменной окружения |
cache boolean | Включить или отключить кэширование исходных данных инвентаря; для работы требуется настроить плагин кэширования. Варианты:
Конфигурация:
|
cache_connection string | Данные подключения к кэшу или путь к нему; подробности см. в документации плагина кэширования. Конфигурация:
|
cache_plugin string | Плагин кэширования, используемый для исходных данных инвентаря. По умолчанию: Конфигурация:
|
cache_prefix string | Префикс для файлов/таблиц плагина кэширования. По умолчанию: Конфигурация:
|
cache_timeout integer | Срок хранения кэша в секундах. По умолчанию: Конфигурация:
|
client_cert псевдонимы: cert_file path | Путь к сертификату, используемому для аутентификации в API. Также можно указать с помощью переменной окружения |
client_key псевдонимы: key_file path | Путь к файлу ключа, используемому для аутентификации в API. Также можно указать с помощью переменной окружения |
compose dictionary | Создавать переменные на основе выражений Jinja2. По умолчанию: |
connections string | Необязательный список параметров подключения кластера. Этот параметр устарел. Разделите подключения на несколько файлов конфигурации и перенесите параметры каждого подключения на верхний уровень конфигурации. Устарел в версии |
context string | Имя контекста, указанного в файле конфигурации. Также можно указать с помощью переменной окружения |
create_groups boolean | Включить создание групп на основе меток у Варианты:
|
default_win_ansible_connection string добавлено в kubevirt.core 2.3.0 | Задать значение по умолчанию для Обычно используются значения Если задано значение Варианты:
|
groups dictionary | Добавлять узлы в группы на основе условий Jinja2. По умолчанию: |
host string | Указать URL для доступа к API. Также можно указать с помощью переменной окружения |
host_format string | Указать формат узла в группе инвентаря. Доступные спецификаторы: По умолчанию: |
impersonate_groups list / элементы=string | Группа или группы, от имени которых выполняется операция. Также можно указать с помощью переменной окружения |
impersonate_user string | Имя пользователя, от имени которого выполняется операция. Также можно указать с помощью переменной окружения |
keyed_groups list / элементы=dictionary | Добавлять узлы в группы на основе значений переменной. По умолчанию: |
|
default_value string добавлено в ansible-core 2.12 |
Значение по умолчанию, используемое, если значение переменной узла равно Этот параметр нельзя использовать одновременно с |
|
key string |
Ключ входного словаря, используемый для создания групп. |
|
parent_group string |
Родительская группа для группы с ключом. |
|
prefix string |
Имя группы с ключом будет начинаться с этого префикса. По умолчанию: |
|
separator string |
Разделитель, используемый для формирования имени группы с ключом. По умолчанию: |
|
trailing_separator boolean добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр нельзя использовать одновременно с Варианты:
|
kube_secondary_dns boolean | Включить имена узлов, производные от Варианты:
|
kubeconfig any | Путь к существующему файлу конфигурации Kubernetes. Если он не указан и не заданы другие параметры подключения, клиент Kubernetes попытается загрузить файл конфигурации по умолчанию из ~/.kube/config. Также можно указать с помощью переменной окружения Можно указать несколько файлов конфигурации Kubernetes, используя в качестве разделителя Конфигурацию Kubernetes можно передать в виде словаря. Для этой функции требуется версия клиента Kubernetes для Python не ниже 17.17.0. |
label_selector string | Задать селектор меток для выбора подмножества полученных виртуальных машин. |
leading_separator boolean добавлено в ansible-core 2.11 | Используется совместно с По умолчанию имя группы с ключом начинается с символа подчёркивания, если для неё не задан префикс или разделитель. Это связано с тем, что префикс по умолчанию — Установите для этого параметра значение Если имя группы формируется из сопоставления, разделитель по-прежнему используется для объединения элементов. Чтобы полностью исключить разделитель из имени группы, задайте для группы с ключом пустую строку в качестве разделителя. Варианты:
|
name string | Необязательное имя кластера. Если оно не задано, имя формируется из адреса сервера и порта. |
namespaces string | Список пространств имён. Если список не указан, виртуальные машины будут получены из всех пространств имён, к которым у пользователя есть доступ. |
network_name псевдонимы: interface_name string | Если к виртуальной машине подключено несколько сетей, задаёт интерфейс, который следует вернуть в качестве основного IP-адреса. |
no_proxy string | Список хостов/доменов/IP-адресов/CIDR, разделённых запятыми, для которых не следует использовать прокси. Также можно указать с помощью переменной окружения Обратите внимание, что этот модуль не считывает стандартные настройки прокси из окружения (например, Для этой функции требуется Пример значения: |
password string | Указать пароль для аутентификации в API. Также можно указать с помощью переменной окружения Описание случаев применимости этого параметра см. в описании параметра |
persist_config boolean | Определяет, следует ли сохранять токены обновления конфигурации kube. Также можно указать с помощью переменной окружения Если контекст k8s использует учётные данные пользователя с токенами обновления (например, oidc или аутентификацию gke/gcloud), библиотека клиента k8s для Python обновляет токен, но по умолчанию не сохраняет его. Поэтому срок действия старого токена обновления может истечь, и следующая аутентификация завершится ошибкой. Установка этого флага в значение true укажет клиенту k8s для Python сохранить новый токен обновления в файл конфигурации kube. По умолчанию отключено. Варианты:
|
plugin string / обязательный | Токен, подтверждающий, что этот файл является источником для плагина kubevirt.core.kubevirt. Варианты:
|
proxy string | URL HTTP-прокси, используемого для подключения. Также можно указать с помощью переменной окружения Обратите внимание, что этот модуль не считывает стандартные настройки прокси из окружения (например, |
proxy_headers dictionary | Заголовок, используемый для HTTP-прокси. Документацию можно найти здесь: https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html?highlight=proxy_headers#urllib3.util.make_headers. |
|
basic_auth string |
Имя пользователя и пароль, разделённые двоеточием, для заголовка базовой аутентификации. Также можно указать с помощью переменной окружения |
|
proxy_basic_auth string |
Имя пользователя и пароль, разделённые двоеточием, для заголовка базовой аутентификации прокси. Также можно указать с помощью переменной окружения |
|
user_agent string |
Строка, задающая желаемый user-agent, например foo/1.0. Также можно указать с помощью переменной окружения |
strict boolean | Если Поскольку в выражениях можно использовать факты, которые могут быть доступны не всегда, по умолчанию такие ошибки игнорируются. Варианты:
|
unset_ansible_port boolean добавлено в kubevirt.core 2.2.0 | Попытаться сбросить значение Варианты:
|
use_extra_vars boolean добавлено в ansible-core 2.11 | Объединить дополнительные переменные с доступными переменными для композиции (наивысший приоритет). Варианты:
Конфигурация:
|
use_service boolean | Разрешить использование Службы используются только в том случае, если не указан Варианты:
|
username string | Укажите имя пользователя для аутентификации в API. Также можно указать с помощью переменной окружения |
validate_certs псевдонимы: verify_ssl boolean | Проверять ли SSL-сертификаты сервера API. Также можно указать с помощью переменной окружения Варианты:
|
Примечание
Перечисленные выше записи конфигурации для каждого типа записи (переменная Ansible, переменная окружения и т. д.) упорядочены от низкого к высокому приоритету. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- Во избежание ошибок проверки SSL-сертификата при
validate_certs=yesполная цепочка сертификатов для сервера API должна быть указана черезca_certили в файлеkubeconfig. - Инвентаризация на этом этапе ещё не завершена, поэтому автоматически заполненные группы
allиungroupedбудут отражать только то, что в них явно добавили предыдущие источники инвентаризации. - Во время построения инвентаризации динамические «магические переменные» недоступны. Например,
groupsиhostvarsещё не существуют.
Примеры
# Filename must end with kubevirt.[yml|yaml]
# Authenticate with token and return all virtual machines from all accessible namespaces
- plugin: kubevirt.core.kubevirt
host: https://192.168.64.4:8443
api_key: xxxxxxxxxxxxxxxx
validate_certs: false
# Use default ~/.kube/config and return virtual machines from namespace testing connected to network bridge-network
- plugin: kubevirt.core.kubevirt
namespaces:
- testing
network_name: bridge-network
# Use default ~/.kube/config and return virtual machines from namespace testing with label app=test
- plugin: kubevirt.core.kubevirt
namespaces:
- testing
label_selector: app=test
# Use a custom config file and a specific context
- plugin: kubevirt.core.kubevirt
kubeconfig: /path/to/config
context: 'awx/192-168-64-4:8443/developer'
Ссылки на коллекцию
© 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/kubevirt/core/kubevirt_inventory.html