kubevirt_template – Управление шаблонами KubeVirt
Новое в версии 2.8.
Описание
- Используйте Openshift Python SDK для управления состоянием шаблонов KubeVirt.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.7
- openshift >= 0.8.2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key строка | Токен, используемый для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_API_KEY. | |
| 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 | |
| context строка | Имя контекста, найденного в файле конфигурации. Также может быть задан через переменную окружения K8S_AUTH_CONTEXT. | |
| default_disk словарь | Цель параметра default_disk — определить типы дисков, поддерживаемых ОС, в основном с точки зрения шины (IDE, SCSI, SATA, virtio и т. д.). Параметр default_disk определяет наложение конфигурации для дисков, которое будет применено поверх дисков во время создания виртуальной машины, чтобы определить общие параметры совместимости и/или производительности, определенные здесь.Этот параметр может быть использован только при установке дополнения kubevirt на кластер OpenShift. | |
| default_network словарь | Цель параметра default_network аналогична параметру default_volume и должна использоваться в качестве шаблона, определяющего параметры производительности и подключения (например, L2 мост). Параметр default_network определяет наложение конфигурации для сетей, которое будет применено поверх сетей во время создания виртуальной машины, чтобы определить общие параметры совместимости и/или производительности, определенные здесь.Этот параметр может быть использован только при установке дополнения kubevirt на кластер OpenShift. | |
| default_nic словарь | Цель параметра default_network аналогична параметру default_disk и должна использоваться в качестве шаблона для обеспечения совместимости и производительности ОС. Параметр default_nic определяет наложение конфигурации для сетевых адаптеров, которое будет применено поверх сетевых адаптеров во время создания виртуальной машины, чтобы определить общие параметры совместимости и/или производительности, определенные здесь.Этот параметр может быть использован только при установке дополнения kubevirt на кластер OpenShift. | |
| default_volume словарь | Цель параметра default_volume — возможность настройки преимущественно параметров производительности, таких как кэши, если они доступны реализацией подлежащего объёма. Параметр default_volume определяет наложение конфигурации для объёмов, которое будет применено поверх объёмов во время создания виртуальной машины, чтобы определить общие параметры совместимости и/или производительности, определенные здесь.Этот параметр может быть использован только при установке дополнения kubevirt на кластер OpenShift. | |
| description строка | Описание шаблона. Включайте достаточно подробной информации, чтобы пользователь понял, что развертывается… и любые замечания, которые нужно знать перед развертыванием. Он также должен содержать ссылки на дополнительную информацию, такую как файл README. | |
| display_name строка | Краткое, понятное пользователю имя, которое можно использовать в пользовательских интерфейсах. | |
| documentation_url строка | Ссылка на дополнительную документацию по шаблону. | |
| editable список | Расширение для указания элементов, которые должны рассматриваться как редактируемые. Список селекторов jsonpath. Корень jsonpath — объекты: элемент шаблона. Этот параметр может быть использован только при установке дополнения kubevirt на кластер OpenShift. | |
| force логическое |
| Если установлено значение yes, и state имеет значение present, существующий объект будет заменён. |
| host строка | Укажите URL для доступа к API. Также может быть задан через переменную окружения K8S_AUTH_HOST. | |
| icon_class строка | Иконка, отображаемая с вашим шаблоном в веб-консоли. При возможности выбирайте из имеющихся значков логотипов. Также можно использовать значки FontAwesome. В качестве альтернативы, предоставьте значки через пользовательские настройки CSS, которые можно добавить в кластер OpenShift Container Platform, использующий ваш шаблон. Необходимо указать существующий класс значка, иначе это помешает переходу на общий значок. | |
| kubeconfig путь | Путь к существующему файлу конфигурации Kubernetes. Если не указано и не указаны другие параметры подключения, клиент OpenShift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть задан через переменную окружения K8S_AUTH_KUBECONFIG. | |
| long_description строка | Дополнительное описание шаблона. Его, например, может отображать каталог служб. | |
| merge_type список |
| Определяет, следует ли переопределить подход к слиянию по умолчанию с использованием определенного типа. По умолчанию обычно используется стратегическое слияние. |
| name строка / обязательно | Имя объекта Шаблон. | |
| namespace строка / обязательно | Пространство имён, в котором существует объект Шаблон. | |
| objects список | Список любых допустимых объектов API, таких как DeploymentConfig, Service и т. д. Объект будет создан точно так, как определено здесь, с подстановкой значений параметров перед созданием. Определение этих объектов может ссылаться на параметры, определённые ранее. В качестве части списка пользователь также может передать тип VirtualMachine. При передаче VirtualMachine пользователь должен использовать структуру параметров Ansible, а не структуру API Kubernetes. Для получения дополнительной информации ознакомьтесь с модулем kubevirt_vm и разделом ПРИМЕРЫ, где вы можете увидеть примеры. | |
| parameters список | Параметры позволяют пользователю ввести значение или сгенерировать его при создании шаблона. Затем это значение подставляется туда, где упоминается параметр. Ссылки могут быть определены в любом поле в списке полей объектов. Это полезно для генерации случайных паролей или предоставления пользователю имени хоста или другого значения, специфичного для пользователя, необходимого для настройки шаблона. Дополнительную информацию можно найти по адресу: https://docs.openshift.com/container-platform/3.6/dev_guide/templates.html#writing-parameters
| |
| password строка | Укажите пароль для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_PASSWORD. Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения случаев, когда этот параметр применим. | |
| provider_display_name строка | Имя человека или организации, предоставляющей шаблон. | |
| state строка |
| Определяет, должен ли быть создан, изменён или удалён объект. При установке значения present, объект будет создан, если он ещё не существует. При установке значения absent, существующий объект будет удалён. При установке значения present, существующий объект будет изменён, если его атрибуты отличаются от тех, которые указаны с использованием resource_definition или src. |
| support_url строка | Ссылка, по которой можно получить поддержку по шаблону. |
| имя_пользователя строка | Укажите имя пользователя для аутентификации с API. Также может быть задано через переменную окружения K8S_AUTH_USERNAME. Обратите внимание, что это работает только с кластерами, настроенными для использования HTTP Basic Auth. Если ваш кластер использует другой метод аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю k8s_auth, возможно, он подойдет в вашем случае. | |
| validate_certs булево |
| Выполнять ли проверку SSL-сертификатов сервера API. Также может быть задано через переменную окружения K8S_AUTH_VERIFY_SSL. псевдонимы: verify_ssl |
| версия строка | Версия структуры шаблона. Этот параметр можно использовать только при установке дополнения kubevirt в кластере openshift. |
Примечания
Примечание
- Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Подробную информацию о версиях API и дополнительную информацию см. на сайте https://github.com/openshift/openshift-restclient-python
- Чтобы избежать ошибок проверки SSL-сертификатов, когда
validate_certsравно True, полная цепочка сертификатов сервера API должна быть предоставлена черезca_certили в файле kubeconfig.
Примеры
- name: Create template 'mytemplate'
kubevirt_template:
state: present
name: myvmtemplate
namespace: templates
display_name: Generic cirros template
description: Basic cirros template
long_description: Verbose description of cirros template
provider_display_name: Just Be Cool, Inc.
documentation_url: http://theverycoolcompany.com
support_url: http://support.theverycoolcompany.com
icon_class: icon-linux
default_disk:
disk:
bus: virtio
default_nic:
model: virtio
default_network:
resource:
resourceName: bridge.network.kubevirt.io/cnvmgmt
default_volume:
containerDisk:
image: kubevirt/cirros-container-disk-demo:latest
objects:
- name: ${NAME}
kind: VirtualMachine
memory: ${MEMORY_SIZE}
state: present
namespace: vms
parameters:
- name: NAME
description: VM name
generate: expression
from: 'vm-[A-Za-z0-9]{8}'
- name: MEMORY_SIZE
description: Memory size
value: 1Gi
- name: Remove template 'myvmtemplate'
kubevirt_template:
state: absent
name: myvmtemplate
namespace: templates
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое | Описание |
|---|---|---|
| kubevirt_template сложный | успех | Словарь шаблона, возвращенный API. |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом 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_template_module.html