Spec-Zone.ru › Ansible 2.9

kubevirt_pvc – Управление PVC на Kubernetes

Новая версия 2.8.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Использование Openshift Python SDK для управления PVC на Kubernetes
  • Поддержка Containerized Data Importer по умолчанию

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.7
  • openshift >= 0.8.2

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
access_modes
список
Содержит желаемые режимы доступа, которые должен иметь том.
Подробнее: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
annotations
словарь
Аннотации, прикрепленные к этому объекту.
https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
api_key
строка
Токен, используемый для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_API_KEY.
ca_cert
путь
Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок проверки сертификатов необходимо предоставить цепочку сертификатов. Также может быть указан через переменную среды K8S_AUTH_SSL_CA_CERT.

псевдонимы: ssl_ca_cert
cdi_source
словарь
Если данные должны быть скопированы на PVC с помощью Containerized Data Importer, вы можете указать источник данных (вместе с любой дополнительной конфигурацией), а также его формат.
Допустимые типы источников: blank, http, s3, registry, pvc и upload. Последний требует использования модуля kubevirt_cdi_upload для фактического выполнения загрузки.
Формат данных источника задаётся с помощью необязательного параметра content_type. Допустимые значения — kubevirt (по умолчанию; сырой образ) и archive (tar.gz).
Используется синтаксис источника DataVolume: https://github.com/kubevirt/containerized-data-importer/blob/master/doc/datavolumes.md#https3registry-source
client_cert
путь
Путь к сертификату, используемому для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_CERT_FILE.

псевдонимы: cert_file
client_key
путь
Путь к файлу ключа, используемому для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_KEY_FILE.

псевдонимы: key_file
context
строка
Имя контекста, найденного в файле конфигурации. Также может быть указан через переменную среды K8S_AUTH_CONTEXT.
force
логическое значение
    Варианты:
  • нет ←
  • да
Если установлено значение True, и state равно present, существующий объект будет заменён.
host
строка
Укажите URL для доступа к API. Также может быть указан через переменную среды K8S_AUTH_HOST.
kubeconfig
путь
Путь к существующему файлу конфигурации Kubernetes. Если не указан и не указаны другие параметры подключения, клиент OpenShift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть указан через переменную среды K8S_AUTH_KUBECONFIG.
labels
словарь
Метки, прикрепленные к этому объекту.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
merge_type
список
    Варианты:
  • json
  • merge
  • strategic-merge
Нужно ли переопределить подход к слиянию по умолчанию каким-либо конкретным типом.
По умолчанию это ['strategic-merge', 'merge'], что идеально подходит для использования одних и тех же параметров для типов ресурсов, которые объединяют пользовательские ресурсы и встроенные ресурсы.
См. https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment
Если указано более одного merge_type, они будут пробоваться в указанном порядке
name
строка / обязательно
Используется для указания имени объекта PVC.
namespace
строка / обязательно
Используется для указания пространства имён объекта PVC.
password
строка
Укажите пароль для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_PASSWORD.
Обратитесь к описанию параметра username для обсуждения случаев применения этого параметра.
proxy
-
добавлен в 2.9
URL HTTP-прокси, который нужно использовать для подключения. Также может быть указан через переменную среды K8S_AUTH_PROXY.
Обратите внимание, что этот модуль не получает типичные настройки прокси из среды (например, HTTP_PROXY).
resource_definition
словарь
Неполное YAML-определение объекта PVC, который создаётся/обновляется. Здесь вы можете определить параметры ресурса Kubernetes PVC, которые не покрываются параметрами этого модуля.
ПРИМЕЧАНИЕ: resource_definition имеет более низкий приоритет, чем параметры модуля. Если вы попытаетесь определить, например, metadata.namespace здесь, это значение будет проигнорировано, и вместо него будет использоваться namespace.

псевдонимы: definition, inline
selector
словарь
Запрос метки по томам для рассмотрения при связывании.
https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
size
строка
Сколько хранилища выделить для PVC.

псевдонимы: storage
state
-
    Варианты:
  • present ←
  • absent
Определяет, нужно ли создавать, исправлять или удалять объект. Когда установлено значение present, объект будет создан, если он ещё не существует. Если установлено значение absent, существующий объект будет удалён. Если установлено значение present, существующий объект будет исправлен, если его атрибуты отличаются от заданных с помощью параметров модуля и resource_definition.
storage_class_name
строка
Имя StorageClass, необходимое для запроса.
Подробнее: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
username
строка
Укажите имя пользователя для аутентификации с API. Также может быть указан через переменную среды K8S_AUTH_USERNAME.
Обратите внимание, что это работает только с кластерами, настроенными на использование HTTP Basic Auth. Если ваш кластер использует другой метод аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю k8s_auth, так как он может решить вашу проблему.
validate_certs
логическое значение
    Варианты:
  • нет
  • да
Проверять или нет SSL-сертификаты сервера API. Также может быть указан через переменную среды K8S_AUTH_VERIFY_SSL.

псевдонимы: verify_ssl
volume_mode
строка
Это определяет тип тома, необходимый для запроса. Значение Filesystem подразумевается, если оно не указано в спецификации запроса. Это альфа-функция Kubernetes и может измениться в будущем.
volume_name
строка
Это ссылка на PersistentVolume, являющийся основой данного запроса.
wait
boolean
    Варианты:
  • нет ←
  • да
Если установлено, этот модуль будет ожидать, пока PVC не привяжется, и CDI (если включено) не завершит свою работу перед возвратом.
Используется только если state установлено в present.
Если не используется вместе с cdi_source, это может привести к таймауту, так как кластеры могут быть настроены так, чтобы не привязывать PVC до первого использования.
wait_timeout
integer
По умолчанию:
300
Указывает, сколько времени в секундах ждать завершения создания PVC, если опция wait включена.
Значение по умолчанию достаточно велико, учитывая, что CDI может занять некоторое время для завершения своей работы.

Примечания

Примечание

  • Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Для получения подробной информации о версии API и дополнительной информации посетите https://github.com/openshift/openshift-restclient-python
  • Чтобы избежать ошибок проверки SSL-сертификата, когда validate_certs равно True, полная цепочка сертификатов для сервера API должна быть предоставлена через ca_cert или в файле kubeconfig.

Примеры

- name: Create a PVC and import data from an external source
  kubevirt_pvc:
    name: pvc1
    namespace: default
    size: 100Mi
    access_modes:
      - ReadWriteOnce
    cdi_source:
      http:
        url: https://www.source.example/path/of/data/vm.img
      # If the URL points to a tar.gz containing the disk image, uncomment the line below:
      #content_type: archive

- name: Create a PVC as a clone from a different PVC
  kubevirt_pvc:
    name: pvc2
    namespace: default
    size: 100Mi
    access_modes:
      - ReadWriteOnce
    cdi_source:
      pvc:
        namespace: source-ns
        name: source-pvc

- name: Create a PVC ready for data upload
  kubevirt_pvc:
    name: pvc3
    namespace: default
    size: 100Mi
    access_modes:
      - ReadWriteOnce
    cdi_source:
      upload: yes
    # You need the kubevirt_cdi_upload module to actually upload something

- name: Create a PVC with a blank raw image
  kubevirt_pvc:
    name: pvc4
    namespace: default
    size: 100Mi
    access_modes:
      - ReadWriteOnce
    cdi_source:
      blank: yes

- name: Create a PVC and fill it with data from a container
  kubevirt_pvc:
    name: pvc5
    namespace: default
    size: 100Mi
    access_modes:
      - ReadWriteOnce
    cdi_source:
      registry:
        url: "docker://kubevirt/fedora-cloud-registry-disk-demo"

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для этого модуля:

Ключ Возвращаемое значение Описание
result
complex
успех
Созданный, изменённый или иначе присутствующий объект. Будет пустым в случае удаления.

api_version
строка
успех
Версионированная схема этого представления объекта.

duration
целое число
когда wait равно true
время выполнения задачи в секундах

Пример:
48
items
список
при ресурсном определении или src содержит список объектов
Возвращается только тогда, когда несколько документов YAML передаются в src или resource_definition

kind
строка
успех
Представляет REST-ресурс, который представляет этот объект.

metadata
complex
успех
Стандартные метаданные объекта. Включает имя, пространство имён, аннотации, метки и т.д.

spec
complex
успех
Уникальные атрибуты объекта. Будут варьироваться в зависимости от api_version и kind.

status
complex
успех
Текущие данные о состоянии объекта.



Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Команда 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.9/modules/kubevirt_pvc_module.html

Spec-Zone.ru

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