community.general.kubevirt_template – Управление шаблонами KubeVirt
Примечание
Этот плагин входит в коллекцию community.general (версия 1.3.2).
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать его в плейбуке, укажите: community.general.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 строка / обязательно | Имя объекта шаблона. | |
| namespace строка / обязательно | Пространство имен, в котором существует объект шаблона. | |
| objects список / элементы=строка | Список любых допустимых объектов API, таких как DeploymentConfig, Service и т. д. Объект будет создан точно так, как определено здесь, со значениями параметров, замененными до создания. Определение этих объектов может ссылаться на параметры, определенные ранее. В качестве части списка пользователь также может передать тип VirtualMachine. При передаче VirtualMachine пользователь должен использовать структуру Ansible параметров, а не структуру API Kubernetes. Для получения дополнительной информации, пожалуйста, ознакомьтесь с модулем community.general.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. Если ваш кластер использует другой метод аутентификации (например, 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имеет значение Истина, полная цепочка сертификатов сервера API должна быть предоставлена черезca_certили в файле kubeconfig.
Примеры
- name: Create template 'mytemplate'
community.general.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.general.kubevirt_template:
state: absent
name: myvmtemplate
namespace: templates
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| kubevirt_template сложное | успех | Словарь шаблона, возвращенный API. |
Авторы
- Команда 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.10/collections/community/general/kubevirt_template_module.html