Spec-Zone.ru › Ansible 2.11

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
список / элементы=строка
    Варианты:
  • json
  • merge
  • strategic-merge
Использовать ли для переопределения подхода к слиянию патчей по умолчанию определенный тип. По умолчанию обычно используется стратегическое слияние.
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
строка
    Варианты:
  • absent
  • present ←
Определяет, следует ли создавать, изменять или удалять объект. При установке в 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API