Spec-Zone.ru › Ansible 2.9

kubevirt_preset – Управление пресетами виртуальных машин KubeVirt

Новая в версии 2.8.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Используйте Openshift Python SDK для управления состоянием пресетов виртуальных машин KubeVirt.

Требования

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

  • openshift >= 0.8.2
  • python >= 2.7

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
affinity
словарь
добавлено в 2.9
Описывает правила планирования размещения узла для виртуальной машины.
hard
словарь
Если требования по affinity, указанные в этом поле, не выполнены на момент планирования, виртуальная машина не будет запланирована на узел. Если требования по affinity, указанные в этом поле, перестанут выполняться в какой-то момент во время выполнения виртуальной машины (например, из-за обновления метки виртуальной машины), система может или не может попытаться в конечном итоге выгнать виртуальную машину с узла. При наличии нескольких элементов списки узлов, соответствующие каждому term, пересекаются, т.е. должны быть выполнены все условия.
soft
словарь
Планировщик отдаст предпочтение размещению виртуальных машин на узлах, удовлетворяющих выражениям affinity, указанным в этом поле, но он может выбрать узел, нарушающий одно или несколько выражений. Узел, который предпочитается больше всего, — это узел с наибольшей суммой весов, т.е. для каждого узла, удовлетворяющего всем требованиям планирования (запрос ресурсов, выражения affinity requiredDuringScheduling и т.д.), вычислить сумму, проходя по элементам этого поля и добавляя weight к сумме, если на узле есть виртуальные машины, соответствующие соответствующему term; узлы с наибольшей суммой являются наиболее предпочтительными.
anti_affinity
словарь
добавлено в 2.9
Описывает правила планирования анти-affinity для виртуальных машин, например, избегание размещения данной виртуальной машины на одном узле, в одной зоне и т.д. с другими виртуальными машинами.
hard
словарь
Если требования по anti-affinity, указанные в этом поле, не выполнены на момент планирования, виртуальная машина не будет запланирована на узел. Если требования по anti-affinity, указанные в этом поле, перестанут выполняться в какой-то момент во время выполнения виртуальной машины (например, из-за обновления метки виртуальной машины), система может или не может попытаться в конечном итоге выгнать виртуальную машину с узла. При наличии нескольких элементов списки узлов, соответствующие каждому term, пересекаются, т.е. должны быть выполнены все условия.
soft
словарь
Планировщик отдаст предпочтение размещению виртуальных машин на узлах, удовлетворяющих выражениям anti-affinity, указанным в этом поле, но он может выбрать узел, нарушающий одно или несколько выражений. Узел, который предпочитается больше всего, — это узел с наибольшей суммой весов, т.е. для каждого узла, удовлетворяющего всем требованиям планирования (запрос ресурсов, выражения anti-affinity requiredDuringScheduling и т.д.), вычислить сумму, проходя по элементам этого поля и добавляя weight к сумме, если на узле есть виртуальные машины, соответствующие соответствующему term; узлы с наибольшей суммой являются наиболее предпочтительными.
api_key
строка
Токен, используемый для аутентификации с API. Также можно указать через переменную среды K8S_AUTH_API_KEY.
bootloader
строка
Укажите загрузчик виртуальной машины.
По умолчанию для загрузки используются BIOS.
ca_cert
путь
Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок проверки сертификатов необходимо предоставить цепочку сертификатов целиком. Также можно указать через переменную среды K8S_AUTH_SSL_CA_CERT.

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

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

псевдонимы: key_file
cloud_init_nocloud
словарь
Представляет источник пользовательских данных NoCloud для cloud-init. Данные NoCloud будут добавлены в виде диска к виртуальной машине. Требуется правильная установка cloud-init внутри гостевой системы. Дополнительная информация https://kubevirt.io/api-reference/master/definitions.html#_v1_cloudinitnocloudsource
context
строка
Имя контекста, найденного в файле конфигурации. Также можно указать через переменную среды K8S_AUTH_CONTEXT.
cpu_cores
целое число
Количество ядер процессора.
cpu_features
список
Список словарей для настройки функций, предоставляемых выбранной моделью процессора.
Примечание: Атрибут политики может быть опущен или содержать одну из следующих политик: force, require, optional, disable, forbid.
Примечание: Если политика не указана для функции, она по умолчанию будет require.
Дополнительная информация о политиках: https://libvirt.org/formatdomain.html#elementsCPU
cpu_limit
целое число
Преобразуется в значение в миллиядрах и умножается на 100. Результирующее значение — это общее количество времени работы процессора, которое контейнер может использовать каждые 100 мс. Виртуальная машина не может использовать больше времени работы процессора, чем ее доля, в течение этого интервала.
cpu_model
строка
Модель процессора.
Список доступных моделей можно посмотреть здесь: https://github.com/libvirt/libvirt/blob/master/src/cpu_map/index.xml.
Примечание: Пользователь может определить модель процессора по умолчанию как default-cpu-model в kubevirt-config ConfigMap. Если не задано, используется host-model.
Примечание: Убедитесь, что модель процессора узла, на котором вы запускаете ВМ, имеет тот же или более высокий семейство процессора.
Примечание: Если модель процессора не была определена, у ВМ будет модель процессора, наиболее близкая к модели, используемой на узле, на котором работает ВМ.
cpu_shares
целое число
Укажите доли процессора.
disks
список
Список словарей, определяющих диски виртуальной машины.
Диск можно сделать доступным четырьмя различными способами: disk, lun, cdrom, floppy.
Все возможные параметры конфигурации доступны по адресу https://kubevirt.io/api-reference/master/definitions.html#_v1_disk
Каждый диск должен иметь указанный volume, который объявляет тип тома диска. Все возможные параметры конфигурации тома доступны по адресу https://kubevirt.io/api-reference/master/definitions.html#_v1_volume.
force
логическое значение
    Варианты:
  • нет ←
  • да
Если установлено no, и state равно present, существующий объект будет заменен.
headless
-
Укажите, должна ли виртуальная машина иметь подключенное минимальное конфигурацию видео и графического устройства.
По умолчанию к VirtualMachineInstance будет применено минимальное конфигурацию видео и графического устройства. Видеоустройство совместимо с vga и имеет размер памяти 16 МБ.
host
строка
Укажите URL для доступа к API. Также можно указать через переменную среды K8S_AUTH_HOST.
hostname
-
добавлено в 2.9
Указывает имя хоста виртуальной машины. Имя хоста будет установлено либо по DHCP, либо по cloud-init, если оно настроено, или будет использовано имя виртуальной машины.
hugepage_size
строка
Укажите размер огромной страницы.
интерфейсы
список
Интерфейс определяет виртуальный сетевой интерфейс виртуальной машины (также называемый передним интерфейсом).
Все возможные параметры конфигурации интерфейсов доступны по адресу https://kubevirt.io/api-reference/master/definitions.html#_v1_interface
Каждый интерфейс должен иметь указанную сеть, которая определяет, к какому логическому или физическому устройству он подключен (также называемому бэкендом). Все возможные параметры конфигурации сети доступны по адресу https://kubevirt.io/api-reference/master/definitions.html#_v1_network.
kubeconfig
путь
Путь к существующему конфигурационному файлу Kubernetes. Если не указано и не предоставлены другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть указан через переменную окружения K8S_AUTH_KUBECONFIG.
метки
словарь
Метки — это пары "ключ-значение", которые прикрепляются к виртуальным машинам. Метки предназначены для указания идентифицирующих атрибутов виртуальных машин, которые имеют смысл и релевантны для пользователей, но не подразумевают семантики для основной системы. Метки могут использоваться для организации и выбора подмножеств виртуальных машин. Метки могут быть прикреплены к виртуальным машинам во время создания и впоследствии добавлены и изменены в любое время.
Подробнее о метках, используемых для внутренней реализации, см. https://kubevirt.io/user-guide/#/misc/annotations_and_labels
тип_машины
строка
Тип машины QEMU — фактический чипсет виртуальной машины.
память
строка
Объем памяти, запрашиваемый виртуальной машиной.
Например, 1024Mi.
предел_памяти
строка
Максимальный объем памяти, используемый виртуальной машиной.
Например, 1024Mi.
тип_слияния
список
    Варианты:
  • json
  • слияние
  • стратегическое_слияние
Нужно ли переопределить подход к слиянию патчей по умолчанию с помощью определенного типа.
Если задано более одного типа слияния, типы слияния будут использоваться в порядке их указания.
По умолчанию ['strategic-merge', 'merge'], что идеально подходит для использования одних и тех же параметров для типов ресурсов, которые объединяют пользовательские ресурсы и встроенные ресурсы, так как определения пользовательских ресурсов обычно не обновляются стандартным стратегическим слиянием.
См. https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment
имя
строка / обязательно
Имя предустановки виртуальной машины.
пространство_имен
строка / обязательно
Пространство имен, в котором существует предустановка виртуальной машины.
сродство_узла
словарь
добавлен в 2.9
Описывает правила планирования сродства виртуальных машин, например, размещение этой виртуальной машины на том же узле, зоне и т. д., что и некоторые другие виртуальные машины.
жесткий
словарь
Если требования сродства, указанные в этом поле, не выполняются на этапе планирования, виртуальная машина не будет запланирована на узел. Если требования сродства, указанные в этом поле, перестанут выполняться в какой-то момент во время выполнения виртуальной машины (например, из-за обновления), система может или не может попытаться в конечном итоге изгнать виртуальную машину с узла.
мягкий
словарь
Планировщик предпочтет размещать виртуальные машины на узлах, которые удовлетворяют выражениям сродства, указанным в этом поле, но может выбрать узел, нарушающий одно или несколько выражений. Узел, который наиболее предпочтительный, — это узел с наибольшей суммой весов, т. е. для каждого узла, который удовлетворяет всем требованиям планирования (запросы ресурсов, требования сродства во время планирования и т. д.), вычислите сумму, перебирая элементы этого поля и добавляя weight к сумме, если узел соответствует соответствующим выражениям сопоставления; узлы с наибольшей суммой являются наиболее предпочтительными.
пароль
строка
Укажите пароль для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_PASSWORD.
Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения случаев, когда этот параметр применим.
прокси
-
добавлен в 2.9
URL HTTP-прокси, который нужно использовать для подключения. Также может быть указан через переменную окружения K8S_AUTH_PROXY.
Обратите внимание, что этот модуль не получает типичные настройки прокси из среды (например, HTTP_PROXY).
определение_ресурса
словарь
Частичное YAML-определение объекта, который создается/обновляется. Здесь вы можете определить параметры Kubernetes-ресурсов, которые не покрываются параметрами этого модуля.
ПРИМЕЧАНИЕ: определение_ресурса имеет более низкий приоритет, чем параметры модуля. Если вы попытаетесь определить, например, metadata.namespace здесь, это значение будет проигнорировано, и вместо него будет использоваться namespace.

псевдонимы: определение, встроенный
селектор
словарь
Селектор — это запрос метки над набором предустановок виртуальных машин.
smbios_uuid
строка
Для обеспечения согласованного представления виртуализированного оборудования для гостевой ОС можно задать SMBIOS UUID.
состояние
строка
    Варианты:
  • присутствует ←
  • отсутствует
Создание или удаление предустановок виртуальных машин.
поддомен
-
добавлен в 2.9
Если указано, полное доменное имя виртуальной машины будет hostname.subdomain.namespace.svc.cluster_domain. Если не указано, у виртуальной машины не будет доменного имени вообще. Запись DNS будет разрешаться на виртуальную машину, независимо от того, может ли сама виртуальная машина получать имя хоста.
планшеты
список
Укажите планшеты, которые будут использоваться как устройства ввода
имя_пользователя
строка
Укажите имя пользователя для аутентификации с API. Также может быть указан через переменную окружения K8S_AUTH_USERNAME.
Обратите внимание, что это работает только с кластерами, настроенными на использование HTTP Basic Auth. Если в вашем кластере используется другой метод аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует изучить модуль k8s_auth, так как он может быть тем, что вам нужно.
проверять_сертификаты
булево
    Варианты:
  • нет
  • да
Требуется ли проверка сертификатов SSL API-сервера. Также может быть указан через переменную окружения K8S_AUTH_VERIFY_SSL.

псевдонимы: проверять_ssl
ждать
булево
    Варианты:
  • нет
  • да ←
True, если модуль должен дождаться, пока ресурс не перейдет в нужное состояние.
ждать_пауза
-
добавлен в 2.9
По умолчанию:
5
Количество секунд ожидания между проверками.
ждать_таймаут
целое число
По умолчанию:
120
Время в секундах, в течение которого модуль должен ожидать, пока ресурс не перейдет в нужное состояние.

Примечания

Примечание

  • Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Для получения информации о версиях API и дополнительной информации посетите https://github.com/openshift/openshift-restclient-python
  • Чтобы избежать ошибок проверки SSL-сертификатов, когда validate_certs имеет значение True, необходимо предоставить полную цепочку сертификатов для сервера API через ca_cert или в файле kubeconfig.
  • Для использования данного модуля необходимо установить Openshift Python SDK. Для обеспечения установки с правильной версией можно выполнить следующую задачу: pip: name=openshift>=0.8.2

Примеры

- name: Create virtual machine preset 'vmi-preset-small'
  kubevirt_preset:
      state: present
      name: vmi-preset-small
      namespace: vms
      memory: 64M
      selector:
        matchLabels:
            kubevirt.io/vmPreset: vmi-preset-small

- name: Remove virtual machine preset 'vmi-preset-small'
  kubevirt_preset:
      state: absent
      name: vmi-preset-small
      namespace: vms

Значения возврата

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

Ключ Возвращаемое значение Описание
kubevirt_preset
сложное
успех
Пресет виртуальной машины, управляемый пользователем.
Этот словарь содержит все значения, возвращаемые API KubeVirt, все параметры описаны здесь https://kubevirt.io/api-reference/master/definitions.html#_v1_virtualmachineinstancepreset



Статус

  • Этот модуль не гарантирует обратную совместимость. [превью]
  • Этот модуль поддерживается сообществом 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.9/modules/kubevirt_preset_module.html

Spec-Zone.ru

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