VirtualImage
Scope: Namespaced
Version: v1alpha2
Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых VirtualDisks
или установочный образ (iso), который быть смонтирован в VirtualMachines
напрямую.
Этот ресурс не может быть изменен после его создания.
Под капотом этого ресурса создается образ контейнера, хранящийся в специальном container registry (DVCR).
- apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Обязательный параметр
- spec.dataSource
Обязательный параметр
- spec.dataSource.containerImage
Для использования образа, хранящегося во внешнем реестре контейнеров, необходимо убедиться, что используется реестр, работающий по протоколу TLS. При необходимости предоставьте поле caBundle для передачи цепочки сертификатов.
- spec.dataSource.containerImage.caBundle
Цепочка сертификатов в формате Base64 для проверки подключения к container registry.
Пример:
caBundle: YWFhCg==
- spec.dataSource.containerImage.image
Обязательный параметр
Путь к образу в container registry.
Шаблон:
^(?P<name>(?:(?P<domain>(?:(?:localhost|[\w-]+(?:\.[\w-]+)+)(?::\d+)?)|[\w]+:\d+)/)?(?P<image>[a-z0-9_.-]+(?:/[a-z0-9_.-]+)*))(?::(?P<tag>[\w][\w.-]{0,127}))?(?:@(?P<digest>[A-Za-z][A-Za-z0-9]*(?:[+.-_][A-Za-z][A-Za-z0-9]*)*:[0-9a-fA-F]{32,}))?$
Пример:
image: registry.example.com/images/slackware:15
- spec.dataSource.containerImage.imagePullSecret
- spec.dataSource.containerImage.imagePullSecret.name
Имя Secret’а, содержащего учетные данные для подключения к container registry.
- spec.dataSource.http
Создать образ из файла, опубликованного по URL. Поддерживаемые схемы:
- HTTP;
- HTTPS.
Для схемы HTTPS есть возможность пропустить проверку TLS.
- spec.dataSource.http.caBundle
Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ.
Пример:
caBundle: YWFhCg==
- spec.dataSource.http.checksum
Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам.
- spec.dataSource.http.checksum.md5
Шаблон:
^[0-9a-fA-F]{32}$
Длина:
32..32
Пример:
md5: f3b59bed9f91e32fac1210184fcff6f5
- spec.dataSource.http.checksum.sha256
Шаблон:
^[0-9a-fA-F]{64}$
Длина:
64..64
Пример:
sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
- spec.dataSource.http.url
Обязательный параметр
URL с образом. Поддерживаются следующие типы образов:
- qcow2;
- vmdk;
- vdi;
- iso;
- raw.
Для всех представленных типов образов поддерживается сжатие образов в следующих форматах:
- gz;
- xz.
Шаблон:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Пример:
url: https://mirror.example.com/images/slackware-15.qcow.gz
- spec.dataSource.objectRef
Для создания образа использовать существующий
VirtualImage
,ClusterVirtualImage
илиVirtualDisk
.- spec.dataSource.objectRef.kind
Обязательный параметр
Ссылка на существующий
VirtualImage
,ClusterVirtualImage
илиVirtualDisk
.Допустимые значения:
ClusterVirtualImage
,VirtualImage
,VirtualDisk
- spec.dataSource.objectRef.name
Обязательный параметр
Имя существующего
VirtualImage
,ClusterVirtualImage
илиVirtualDisk
.
- spec.dataSource.type
Тип источника, из которого будет создан образ:
HTTP
— создать диск из файла, опубликованного на HTTP/HTTPS-сервере.ContainerImage
— создать диск из образа в container registry.ObjectRef
— создать диск из существующего ресурса.Upload
— загрузить образ диска вручную.
Допустимые значения:
HTTP
,ContainerImage
,ObjectRef
,Upload
- spec.persistentVolumeClaim
Настройки для создания PVC для хранения образа с хранилищем типа ‘PersistentVolumeClaim’.
- spec.persistentVolumeClaim.storageClassName
Имя StorageClass, требуемого для PersistentVolumeClaim. Дополнительная информация — https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1.
При создании образа с хранилищем типа ‘PersistentVolumeClaim’ пользователь может указать требуемый StorageClass для создания диска, либо не указывать явно и в этом случае будет использован StorageClass доступный по умолчанию.
- spec.storage
Обязательный параметр
Тип хранилища для хранения образа:
ContainerRegistry
— использовать container registry (DVCR). В этом случае образы будут загружаться в контейнер, а затем в DVCR (поставляется с модулем виртуализации).Kubernetes
- Устарело: использование этого значения не рекомендуется и может быть удалено в будущих версиях. Используйте тип PersistentVolumeClaim.PersistentVolumeClaim
- использовать Persistent Volume Claim (PVC).
По умолчанию:
"ContainerRegistry"
Допустимые значения:
ContainerRegistry
,Kubernetes
,PersistentVolumeClaim