kubevirt_preset – Управление пресетами виртуальных машин KubeVirt
Новая в версии 2.8.
Обзор
- Используйте Openshift Python SDK для управления состоянием пресетов виртуальных машин KubeVirt.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- openshift >= 0.8.2
- python >= 2.7
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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 словарь | Представляет источник пользовательских данных cloud-init NoCloud. Данные 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 - | Укажите, должна ли виртуальная машина иметь присоединенную минимальную конфигурацию устройства видео и графики. По умолчанию виртуальной машине будет применена минимальная конфигурация устройства видео и графики. Видеоустройство совместимо с VGA и имеет размер памяти 16 МБ. | |
| host строка | Укажите URL для доступа к API. Также может быть задан через переменную окружения K8S_AUTH_HOST. | |
| hugepage_size строка | Укажите размер огромных страниц. | |
| interfaces список | Интерфейс определяет виртуальный сетевой интерфейс виртуальной машины (также называемый передним). Все возможные параметры конфигурации интерфейсов доступны по адресу https://kubevirt.io/api-reference/master/definitions.html#_v1_interface
Каждый интерфейс должен иметь указанный network, который объявляет, с каким логическим или физическим устройством он соединен (также называется бэкендом). Все возможные параметры конфигурации сети доступны по адресу https://kubevirt.io/api-reference/master/definitions.html#_v1_network. | |
| kubeconfig путь | Путь к существующему файлу конфигурации Kubernetes. Если не указано и не указаны другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть задан через переменную окружения K8S_AUTH_KUBECONFIG. | |
| labels словарь | Метки — пары "ключ-значение", которые прикреплены к виртуальным машинам. Метки предназначены для указания идентификационных атрибутов виртуальных машин, имеющих смысл и релевантные для пользователей, но не прямо подразумевают семантику для основной системы. Метки могут использоваться для организации и выбора подмножеств виртуальных машин. Метки могут быть прикреплены к виртуальным машинам во время создания и впоследствии добавлены и изменены в любое время. Дополнительная информация о метках, используемых для внутренней реализации https://kubevirt.io/user-guide/#/misc/annotations_and_labels
| |
| machine_type строка | Тип машины QEMU — фактический чипсет виртуальной машины. | |
| memory строка | Объем памяти, запрашиваемый виртуальной машиной. Например, 1024Mi. | |
| memory_limit строка | Максимальный объем памяти, используемый виртуальной машиной. Например, 1024Mi. | |
| merge_type список |
| Нужно ли переопределить подход по умолчанию к слиянию патчей определенным типом. Если задано более одного типа слияния, типы слияния будут применяться в порядке. По умолчанию ['strategic-merge', 'merge'], что идеально подходит для использования одних и тех же параметров на ресурсах типов, которые объединяют пользовательские ресурсы и встроенные ресурсы, так как определения пользовательских ресурсов обычно не обновляются обычным стратегическим слиянием. |
| name строка / обязательно | Имя предустановки виртуальной машины. | |
| namespace строка / обязательно | Пространство имен, в котором существует предустановка виртуальной машины. | |
| password строка | Укажите пароль для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_PASSWORD. Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения случаев, когда этот параметр применим. |
| resource_definition словарь | Частичное YAML-определение объекта, создаваемого/обновляемого. Здесь можно определить параметры Kubernetes-ресурса, не охваченные параметрами данного модуля. ПРИМЕЧАНИЕ: resource_definition имеет более низкий приоритет, чем параметры модуля. Если вы попытаетесь определить, например, metadata.namespace здесь, это значение будет проигнорировано, и будет использовано значение namespace. псевдонимы: definition, inline | |
| selector словарь | Selector — это запрос метки по набору виртуальных предустановок. | |
| smbios_uuid строка | Для предоставления согласованного представления виртуализированного оборудования для гостевой ОС можно установить UUID SMBIOS. | |
| state строка |
| Создание или удаление виртуальных предустановок. |
| tablets список | Укажите планшеты, которые будут использоваться в качестве устройств ввода | |
| username строка | Укажите имя пользователя для аутентификации с API. Также можно указать через переменную окружения K8S_AUTH_USERNAME. Обратите внимание, что это работает только с кластерами, настроенными на использование HTTP Basic Auth. Если ваш кластер имеет другой вид аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю k8s_auth, так как он может сделать то, что вам нужно. | |
| validate_certs булево |
| Необходимо ли проверять сертификаты SSL API-сервера. Также можно указать через переменную окружения K8S_AUTH_VERIFY_SSL. псевдонимы: verify_ssl |
| wait булево |
|
True, если модуль должен ожидать, пока ресурс не перейдёт в нужное состояние. |
| wait_timeout целое число | По умолчанию: 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
|
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается сообществом 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/modules/kubevirt_preset_module.html