community.kubevirt.kubevirt_template – Управление шаблонами KubeVirt
Примечание
Этот плагин входит в коллекцию community.kubevirt (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.kubevirt
Для использования в плейбуке укажите: community.kubevirt.kubevirt_template
Обзор
- Используйте 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 строка | 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 строка / обязательно | Имя объекта Template. | |
| namespace строка / обязательно | Пространство имен, в котором существует объект Template. | |
| objects список / элементы=строка | Список любых допустимых объектов API, таких как DeploymentConfig, Service и т. д. Объект будет создан точно так, как определено здесь, со значениями всех параметров, подставленными перед созданием. Определение этих объектов может ссылаться на параметры, определённые ранее. В качестве части списка пользователь может также передать тип VirtualMachine. При передаче VirtualMachine пользователь должен использовать структуру Ansible параметров, а не структуру API Kubernetes. Для получения дополнительной информации см. модуль community.kubevirt.kubevirt_vm и раздел ПРИМЕРЫ, где вы можете увидеть примеры. | |
| parameters список / элементы=строка | Параметры позволяют пользователю указывать значения или генерировать их при создании шаблона. Затем это значение подставляется везде, где упоминается параметр. Ссылки могут быть определены в любом поле в списке объектов. Это полезно для генерации случайных паролей или для предоставления пользователю имени хоста или других пользовательских значений, необходимых для настройки шаблона. Дополнительную информацию можно найти по адресу: https://docs.openshift.com/container-platform/3.6/dev_guide/templates.html#writing-parameters
| |
| password строка | Укажите пароль для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_PASSWORD. Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения случаев, когда этот параметр применим. | |
| persist_config логическое |
| Сохранять ли токен обновления конфигурации kube. Также может быть задан через переменную окружения K8S_AUTH_PERSIST_CONFIG. Когда контекст k8s использует учетные данные пользователя с токенами обновления (например, oidc или gke/gcloud auth), токен обновляется библиотекой k8s python, но по умолчанию не сохраняется. Таким образом, старый токен обновления может истечь, и следующая аутентификация может завершиться неудачей. Установка этого флага в значение true укажет библиотеке k8s python сохранить новый токен обновления в файл конфигурации kube. По умолчанию значение false. Обратите внимание, что текущая версия библиотеки k8s python пока не поддерживает установку этого флага в значение True. Исправление для этой библиотеки k8s python находится здесь: https://github.com/kubernetes-client/python-base/pull/169 |
| provider_display_name строка | Имя лица или организации, предоставляющей шаблон. | |
| proxy строка | URL HTTP-прокси, используемого для подключения. Также может быть задан через переменную окружения K8S_AUTH_PROXY. Обратите внимание, что этот модуль не получает типичные настройки прокси из среды (например, HTTP_PROXY). | |
| state строка |
| Определяет, следует ли создавать, изменять или удалять объект. При установке в present, объект будет создан, если он еще не существует. При установке в absent, существующий объект будет удален. При установке в present, существующий объект будет изменён, если его атрибуты отличаются от тех, что указаны с помощью resource_definition или src. |
| support_url строка | 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'
community.kubevirt.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'
community.kubevirt.kubevirt_template:
state: absent
name: myvmtemplate
namespace: templates
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| kubevirt_template сложный тип | успех | Словарь шаблона, возвращаемый API. |
Авторы
- Команда KubeVirt (@kubevirt)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/kubevirt/kubevirt_template_module.html