Spec-Zone.ru › Ansible

kubevirt.core.kubevirt инвентаризация – Источник инвентаризации для KubeVirt VirtualMachines и VirtualMachineInstances

Примечание

Этот плагин инвентаризации входит в коллекцию kubevirt.core (версия 1.5.0).

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

Чтобы установить её, используйте: ansible-galaxy collection install kubevirt.core. Для использования этого плагина инвентаризации необходимы дополнительные требования, см. Требования для подробностей.

Для использования в книге задач укажите: kubevirt.core.kubevirt.

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

Описание

  • Получение виртуальных машин из одного или нескольких пространств имён с необязательным селектором меток.
  • Группировка по имени кластера, пространству имён и меткам.
  • Использование плагина подключения kubernetes.core.kubectl для доступа к кластеру Kubernetes.
  • Использование файла конфигурации *.kubevirt.[yml|yaml] YAML для установки значений параметров.

Требования

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

  • python >= 3.9
  • kubernetes >= 28.1.0
  • PyYAML >= 3.11

Параметры

Параметр

Комментарии

cache

boolean

Переключатель для включения/выключения кэширования исходных данных инвентаризации, требует настройки плагина кэша для работы.

Выбор:

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

Настройка:

  • Запись INI:

    [inventory]
    cache = false
    
  • Переменная среды: ANSIBLE_INVENTORY_CACHE

cache_connection

string

Данные или путь подключения к кэшу, для получения подробностей см. документацию по плагинам кэша.

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_connection = VALUE
    
    [inventory]
    cache_connection = VALUE
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN_CONNECTION
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_CONNECTION

cache_plugin

string

Плагин кэша для использования с исходными данными инвентаризации.

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

Настройка:

  • Записи INI:

    [defaults]
    fact_caching = memory
    
    [inventory]
    cache_plugin = memory
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_PLUGIN

cache_prefix

string

Префикс для использования с файлами/таблицами плагина кэша

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

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_prefix = ansible_inventory_
    
    [inventory]
    cache_prefix = ansible_inventory_
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN_PREFIX
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

cache_timeout

integer

Срок действия кэша в секундах

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

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_timeout = 3600
    
    [inventory]
    cache_timeout = 3600
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN_TIMEOUT
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_TIMEOUT

compose

dictionary

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

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

connections

list / элементы=dictionary

Необязательный список настроек подключения к кластеру. Если подключения не указаны, будут использоваться значения по умолчанию ~/.kube/config и активный контекст, а объекты будут возвращаться для всех пространств имен, к которым активный пользователь имеет разрешения доступа.

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

Устарел с версии 1.5.0, будет удалён в версии 3.0.0.

api_key

string

Токен, используемый для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_API_KEY.

api_version

string

Укажите используемую версию API KubeVirt.

По умолчанию: "kubevirt.io/v1"

append_base_domain

boolean

Добавить базовый домен кластера к именам хостов, построенных из SSH Services типа NodePort.

Выбор:

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

base_domain

string

Переопределить базовый домен, используемый для построения имён хостов. Используется в случае kubesecondarydns или Services типа NodePort если connections.append_base_domain установлено.

ca_cert

aliases: ssl_ca_cert

string

Путь к сертификату CA, используемому для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_SSL_CA_CERT.

client_cert

aliases: cert_file

string

Путь к сертификату, используемому для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_CERT_FILE.

client_key

aliases: key_file

string

Путь к файлу ключа, используемому для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_KEY_FILE.

context

string

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

create_groups

boolean

Включить создание групп на основе меток в VirtualMachines и VirtualMachineInstances.

Варианты:

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

host

string

Укажите URL для доступа к API. Также может быть указано через переменную окружения K8S_AUTH_HOST.

kube_secondary_dns

boolean

Включить имена хостов, полученные из kubesecondarydns, при использовании вторичного сетевого интерфейса.

Варианты:

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

kubeconfig

string

Путь к существующему файлу конфигурации Kubernetes. Если не указано, и другие параметры подключения не указаны, клиент Kubernetes попытается загрузить файл конфигурации по умолчанию из ~/.kube/config. Также может быть указано через переменную окружения K8S_AUTH_KUBECONFIG.

label_selector

string

Определите селектор меток для выбора подмножества полученных виртуальных машин.

name

string

Необязательное имя для назначения кластеру. Если не указано, имя строится из сервера и порта.

namespaces

string

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

network_name

aliases: interface_name

string

В случае подключения нескольких сетей к виртуальной машине, определите, какой интерфейс должен возвращаться как основной IP-адрес.

password

string

Укажите пароль для аутентификации с API. Также может быть указано через переменную окружения K8S_AUTH_PASSWORD.

use_service

boolean

Включить использование Services для установления SSH-соединения с виртуальной машиной.

Услуги используются только в том случае, если не было указано connections.network_name.

Варианты:

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

username

string

Укажите имя пользователя для аутентификации с API. Также может быть указано через переменную окружения K8S_AUTH_USERNAME.

validate_certs

aliases: verify_ssl

boolean

Подтверждать ли сертификаты SSL сервера API. Также может быть указано через переменную окружения K8S_AUTH_VERIFY_SSL.

Варианты:

  • false
  • true

groups

dictionary

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

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

host_format

string

Укажите формат хоста в группе инвентаризации. Доступные спецификаторы: name, namespace и uid.

По умолчанию: "{namespace}-{name}"

keyed_groups

list / elements=dictionary

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

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

default_value

string

added in ansible-core 2.12

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

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

key

string

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

parent_group

string

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

END_OF_DOCUMENT_MARKER

префикс

строка

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

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

разделитель

строка

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

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

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

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

Токен, гарантирующий, что это файл источника для плагина kubevirt.core.kubevirt.

Доступные значения:

  • "kubevirt"
  • "kubevirt.core.kubevirt"

strict

логическое

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

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

Доступные значения:

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

use_extra_vars

логическое

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

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

Доступные значения:

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

Настройка:

  • Запись INI:

    [inventory_plugins]
    use_extra_vars = false
    
  • Переменная среды: ANSIBLE_INVENTORY_USE_EXTRA_VARS

Примеры

# Filename must end with kubevirt.[yml|yaml]

- name: Authenticate with token and return all virtual machines from all accessible namespaces
  plugin: kubevirt.core.kubevirt
  connections:
    - host: https://192.168.64.4:8443
      api_key: xxxxxxxxxxxxxxxx
      validate_certs: false

- name: Use default ~/.kube/config and return virtual machines from namespace testing connected to network bridge-network
  plugin: kubevirt.core.kubevirt
  connections:
    - namespaces:
        - testing
      network_name: bridge-network

- name: Use default ~/.kube/config and return virtual machines from namespace testing with label app=test
  plugin: kubevirt.core.kubevirt
  connections:
    - namespaces:
        - testing
      label_selector: app=test

- name: Use a custom config file and a specific context
  plugin: kubevirt.core.kubevirt
  connections:
    - kubeconfig: /path/to/config
      context: 'awx/192-168-64-4:8443/developer'

Авторы

  • Проект KubeVirt.io

Подсказка

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

Ссылки на сборки

  • Система отслеживания ошибок
  • Главная страница
  • Репозиторий (исходные коды)
  • Сообщить об ошибке
  • Связь

© 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/kubevirt/core/kubevirt_inventory.html

Spec-Zone.ru

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