kubevirt_rs – Управление репликами виртуальных машин 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 словарь | Представляет источник пользовательских данных 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, а состояние — в present, существующий объект будет заменён. |
| headless - | Укажите, должна ли виртуальная машина иметь присоединённую минимальную конфигурацию устройства видео и графики. По умолчанию виртуальной машине будет применена минимальная конфигурация устройства видео и графики. Устройство видео совместимо с vga и имеет размер памяти 16 МБ. | |
| host строка | Укажите URL для доступа к API. Также может быть указан через переменную среды K8S_AUTH_HOST. | |
| hugepage_size строка | Укажите размер огромных страниц. | |
| interfaces список | Интерфейс определяет виртуальный сетевой интерфейс виртуальной машины (также называется передним интерфейсом). Все возможные параметры конфигурации интерфейсов доступны в 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. | |
| 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. |
| replicas целое число | Количество желаемых под-процессов. Это указатель для различения явного нуля и отсутствия значения. Replicas по умолчанию устанавливается в 1, если создаётся новый набор реплик. | |
| 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 replica set 'myvmir'
kubevirt_rs:
state: present
name: myvmir
namespace: vms
wait: true
replicas: 3
memory: 64M
labels:
myvmi: myvmi
selector:
matchLabels:
myvmi: myvmi
disks:
- name: containerdisk
volume:
containerDisk:
image: kubevirt/cirros-container-disk-demo:latest
path: /custom-disk/cirros.img
disk:
bus: virtio
- name: Remove virtual machine replica set 'myvmir'
kubevirt_rs:
state: absent
name: myvmir
namespace: vms
wait: true
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| kubevirt_rs сложный тип | success | Набор реплик виртуальной машины, управляемый пользователем. Этот словарь содержит все значения, возвращаемые API KubeVirt, все параметры описаны здесь https://kubevirt.io/api-reference/master/definitions.html#_v1_virtualmachineinstance
|
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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_rs_module.html