kubevirt_pvc – Управление PVC на Kubernetes
Новая версия 2.8.
Описание
- Использование Openshift Python SDK для управления PVC на Kubernetes
- Поддержка Containerized Data Importer по умолчанию
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.7
- openshift >= 0.8.2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| access_modes список | Содержит желаемые режимы доступа, которые должен иметь том. | |
| 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 словарь | Метки, прикрепленные к этому объекту. | |
| merge_type список |
| Выбор того, нужно ли переопределить подход по умолчанию к объединению патчей на определённый тип. По умолчанию используется ['strategic-merge', 'merge'], что идеально подходит для использования одних и тех же параметров для типов ресурсов, которые объединяют пользовательские ресурсы и встроенные ресурсы.Если указано несколько merge_type, типы merge_type будут проверены в указанном порядке. |
| name строка / обязательно | Используется для указания имени объекта PVC. | |
| namespace строка / обязательно | Используется для указания пространства имен объекта PVC. | |
| password строка | Укажите пароль для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_PASSWORD. Обратитесь к описанию параметра username для обсуждения случаев, когда этот параметр применим. | |
| resource_definition словарь | Частичное YAML определение объекта PVC, который создаётся/обновляется. Здесь вы можете определить параметры ресурса Kubernetes PVC, которые не покрываются параметрами этого модуля. ПРИМЕЧАНИЕ: resource_definition имеет более низкий приоритет, чем параметры модуля. Если вы попытаетесь определить, например, metadata.namespace здесь, это значение будет проигнорировано, и вместо него будет использовано значение namespace. псевдонимы: definition, inline | |
| selector словарь | Запрос меток по томам для рассмотрения при привязке. | |
| size строка | Объём хранилища, выделяемого для PVC. псевдонимы: storage | |
| state - |
| Определяет, должен ли быть создан, изменён или удалён объект. При значении present, объект будет создан, если он ещё не существует. Если значение absent, существующий объект будет удалён. Если значение present, существующий объект будет изменён, если его атрибуты отличаются от указанных с помощью параметров модуля и resource_definition. |
| storage_class_name строка | Имя StorageClass, требуемое для запроса. | |
| 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 подразумевается, когда оно не включено в спецификацию запроса. Это функция alpha Kubernetes и может быть изменена в будущем. | |
| volume_name строка | Это ссылка на привязку PersistentVolume, поддерживающую этот запрос. | |
| wait логическое |
| Если установлено, этот модуль будет ожидать, пока PVC не будет привязан, и CDI (если включено) не завершит свою работу перед возвратом. Используется только если state установлено в present.Если не используется в сочетании с cdi_source, это может привести к таймауту, так как кластеры могут быть настроены на не привязку PVC до первого использования. |
| wait_timeout целое число | Значение по умолчанию: 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 сложное значение | успех | Созданный, измененный или иначе присутствующий объект. Будет пустым в случае удаления. | |
| api_version строка | успех | Версионированная схема этого представления объекта. | |
| duration целое число | если wait равно true | время выполнения задачи в секундах Пример: 48 | |
| items список | если resource_definition или src содержат список объектов | Возвращается только тогда, когда для src или resource_definition передаются несколько документов YAML | |
| kind строка | успех | Представляет REST-ресурс, который представляет данный объект. | |
| metadata сложное значение | успех | Стандартные метаданные объекта. Включает имя, пространство имен, аннотации, метки и т.д. | |
| spec сложное значение | успех | Уникальные атрибуты объекта. Будут различаться в зависимости от api_version и kind. | |
| status сложное значение | успех | Текущие детали статуса объекта. | |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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.8/modules/kubevirt_pvc_module.html