The module is actively developed. It might significantly change in the future.
ClusterVirtualImage
Scope: Cluster
Version: v1alpha2
Describes a virtual disk image that can be used as a data source for new VirtualDisks
or an installation image (iso) to be mounted in Virtuals
directly. This resource type is available for all namespaces in the cluster.
This resource cannot be modified once it has been created.
A container image is created under the hood of this resource, which is stored in a dedicated deckhouse virtualization container registry (DVCR).
-
spec
object
-
spec.dataSource
object
Required value
-
spec.dataSource.containerImage
object
Use an image stored in external container registry. Only TLS enabled registries are supported. Use caBundle field to provide custom CA chain if needed.
-
spec.dataSource.containerImage.caBundle
string
The CA chain in base64 format to verify the container registry.
Example:
caBundle: | YWFhCg==
-
spec.dataSource.containerImage.image
string
Required value
The container registry address of an image.Pattern:
^(?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,}))?$
Example:
image: registry.example.com/images/slackware:15
-
spec.dataSource.containerImage.imagePullSecret
object
-
spec.dataSource.containerImage.imagePullSecret.name
string
A name of the secret containing registry credentials.
-
spec.dataSource.containerImage.imagePullSecret.namespace
string
A namespace where imagePullSecret is located.
-
spec.dataSource.containerImage.imagePullSecret.name
string
-
spec.dataSource.containerImage.caBundle
string
-
spec.dataSource.http
object
Fill the image with data from some external url. Supported schemas are:
- http
- https
For https schema there is an option to skip TLS verification.
-
spec.dataSource.http.caBundle
string
The CA chain in base64 format to verify the url.
Example:
caBundle: | YWFhCg==
-
spec.dataSource.http.checksum
object
A checksum of the file, provided by the url, to verify if it was downloaded correctly or wasn’t changed. The file should match all specified checksums.
-
spec.dataSource.http.checksum.md5
string
Length:
32..32
Pattern:
^[0-9a-fA-F]{32}$
Example:
md5: f3b59bed9f91e32fac1210184fcff6f5
-
spec.dataSource.http.checksum.sha256
string
Length:
64..64
Pattern:
^[0-9a-fA-F]{64}$
Example:
sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
-
spec.dataSource.http.checksum.md5
string
-
spec.dataSource.http.insecureSkipVerify
boolean
If a CA chain isn’t provided, this option can be used to turn off TLS certificate checks. As noted, it is insecure and shouldn’t be used in production environments.
Default:
false
-
spec.dataSource.http.url
string
Required value
The http url with an image. The following formats are supported:
- qcow2
- vmdk
- vdi
- iso
- raw these formats can also be compressed with the following formats:
- gz
- xz
Pattern:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Example:
url: https://mirror.example.com/images/slackware-15.qcow.gz
-
spec.dataSource.objectRef
object
Reference to existing
VirtualImage
orClusterVirtualImage
.-
spec.dataSource.objectRef.kind
string
Required value
A kind of existingVirtualImage
orClusterVirtualImage
.Allowed values:
ClusterVirtualImage
,VirtualImage
-
spec.dataSource.objectRef.name
string
Required value
A name of existingVirtualImage
orClusterVirtualImage
. -
spec.dataSource.objectRef.namespace
string
A namespace where
VirtualImage
is located.
-
spec.dataSource.objectRef.kind
string
-
spec.dataSource.type
string
Required value
The type of an origin of the image. Options are:
HTTP
— create an image from a file published on http/https service at a given urlContainerImage
— create the image from image stored in container registry.ObjectRef
— fill the cluster image from another existingVirtualImage
orClusterVirtualImage
.Upload
— fill the image with data, uploaded by user via the special interface.
Allowed values:
HTTP
,ContainerImage
,ObjectRef
,Upload
-
spec.dataSource.containerImage
object
-
spec.dataSource
object
VirtualDisk
Scope: Namespaced
Version: v1alpha2
Describes a virtual disk that can be mounted in Virtuals
. Once the resource is created, only the disk size .spec.persistentVolumeClaim.size
can be changed, all other fields are immutable.
A PVC is created under the hood of the resource, into which the data from the source is filled.
-
spec
object
-
spec.dataSource
object
An origin of the disk. If empty or absent, empty disk will be created.
-
spec.dataSource.containerImage
object
Use an image stored in external container registry. Only TLS enabled registries are supported. Use caBundle field to provide custom CA chain if needed.
-
spec.dataSource.containerImage.caBundle
string
The CA chain in base64 format to verify the container registry.
Example:
caBundle: | YWFhCg==
-
spec.dataSource.containerImage.image
string
Required value
The container registry address of an image.Pattern:
^(?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,}))?$
Example:
image: registry.example.com/images/slackware:15
-
spec.dataSource.containerImage.imagePullSecret
object
-
spec.dataSource.containerImage.imagePullSecret.name
string
A name of the secret containing registry credentials.
-
spec.dataSource.containerImage.imagePullSecret.name
string
-
spec.dataSource.containerImage.caBundle
string
-
spec.dataSource.http
object
Fill the image with data from some external url. Supported schemas are:
- http
- https
For https schema there is an option to skip TLS verification.
-
spec.dataSource.http.caBundle
string
The CA chain in base64 format to verify the url.
Example:
caBundle: | YWFhCg==
-
spec.dataSource.http.checksum
object
A checksum of the file, provided by the url, to verify if it was downloaded correctly or wasn’t changed. The file should match all specified checksums.
-
spec.dataSource.http.checksum.md5
string
Length:
32..32
Pattern:
^[0-9a-fA-F]{32}$
Example:
md5: f3b59bed9f91e32fac1210184fcff6f5
-
spec.dataSource.http.checksum.sha256
string
Length:
64..64
Pattern:
^[0-9a-fA-F]{64}$
Example:
sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
-
spec.dataSource.http.checksum.md5
string
-
spec.dataSource.http.insecureSkipVerify
boolean
If a CA chain isn’t provided, this option can be used to turn off TLS certificate checks. As noted, it is insecure and shouldn’t be used in production environments.
Default:
false
-
spec.dataSource.http.url
string
Required value
The http url with an image. The following formats are supported:
- qcow2
- vmdk
- vdi
- iso
- raw these formats can also be compressed with the following formats:
- gz
- xz
Pattern:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Example:
url: https://mirror.example.com/images/slackware-15.qcow.gz
-
spec.dataSource.objectRef
object
Reference to existing
VirtualImage
orClusterVirtualImage
.-
spec.dataSource.objectRef.kind
string
Required value
A kind of existingVirtualImage
orClusterVirtualImage
.Allowed values:
ClusterVirtualImage
,VirtualImage
-
spec.dataSource.objectRef.name
string
Required value
A name of existingVirtualImage
orClusterVirtualImage
.
-
spec.dataSource.objectRef.kind
string
-
spec.dataSource.type
string
Required value
The type of an origin of the disk. Options are:
HTTP
— create an image from a file published on http/https service at a given urlContainerImage
— create the image from image stored in container registry.ObjectRef
— fill the disk from another existingVirtualImage
orClusterVirtualImage
.Upload
— fill the disk with data, uploaded by user via the special interface.
Allowed values:
HTTP
,ContainerImage
,ObjectRef
,Upload
-
spec.dataSource.containerImage
object
-
spec.persistentVolumeClaim
object
Required value
Settings for creating PVCs to store the disk.-
spec.persistentVolumeClaim.size
string
Desired size for PVC to store the disk. If the disk is created from an image, the size must be at least as large as the original unpacked image.
Pattern:
^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$
-
spec.persistentVolumeClaim.storageClass
string
The name of the StorageClass required by the claim. More info — https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
-
spec.persistentVolumeClaim.size
string
-
spec.dataSource
object
VirtualImage
Scope: Namespaced
Version: v1alpha2
This resource describes a virtual disk image or installation image (iso) that can be used as a data source for new VirtualDisks
or can be mounted in Virtuals
.
This resource cannot be modified once it has been created.
A container image is created under the hood of this resource, which is stored in a dedicated deckhouse virtualization container registy (DVCR) or PVC, into which the data from the source is filled.
-
spec
object
-
spec.dataSource
object
Required value
An origin of the image.-
spec.dataSource.containerImage
object
Use an image stored in external container regitry. Only TLS enabled registries are supported. Use caBundle field to provide custom CA chain if needed.
-
spec.dataSource.containerImage.caBundle
string
The CA chain in base64 format to verify the container registry.
Example:
caBundle: | YWFhCg==
-
spec.dataSource.containerImage.image
string
Required value
The container registry address of an image.Pattern:
^(?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,}))?$
Example:
image: registry.example.com/images/slackware:15
-
spec.dataSource.containerImage.imagePullSecret
object
-
spec.dataSource.containerImage.imagePullSecret.name
string
A name of the secret containing registry credentials which must be located in the same namespace.
-
spec.dataSource.containerImage.imagePullSecret.name
string
-
spec.dataSource.containerImage.caBundle
string
-
spec.dataSource.http
object
Fill the image with data from some external url. Supported schemas are:
- http
- https
For https schema there is an option to skip TLS verification.
-
spec.dataSource.http.caBundle
string
The CA chain in base64 format to verify the url.
Example:
caBundle: | YWFhCg==
-
spec.dataSource.http.checksum
object
A checksum of the file, provided by the url, to verify if it was downloaded correctly or wasn’t changed. The file should match all specified checksums.
-
spec.dataSource.http.checksum.md5
string
Length:
32..32
Pattern:
^[0-9a-fA-F]{32}$
Example:
md5: f3b59bed9f91e32fac1210184fcff6f5
-
spec.dataSource.http.checksum.sha256
string
Length:
64..64
Pattern:
^[0-9a-fA-F]{64}$
Example:
sha256: 78be890d71dde316c412da2ce8332ba47b9ce7a29d573801d2777e01aa20b9b5
-
spec.dataSource.http.checksum.md5
string
-
spec.dataSource.http.insecureSkipVerify
boolean
If a CA chain isn’t provided, this option can be used to turn off TLS certificate checks. As noted, it is insecure and shouldn’t be used in production environments.
Default:
false
-
spec.dataSource.http.url
string
Required value
The http url with an image. The following formats are supported:
- qcow2
- vmdk
- vdi
- iso
- raw these formats can also be compressed with the following formats:
- gz
- xz
Pattern:
^http[s]?:\/\/(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$
Example:
url: https://mirror.example.com/images/slackware-15.qcow.gz
-
spec.dataSource.objectRef
object
Reference to existing
VirtualImage
orClusterVirtualImage
.-
spec.dataSource.objectRef.kind
string
Required value
A kind of existingVirtualImage
orClusterVirtualImage
.Allowed values:
ClusterVirtualImage
,VirtualImage
-
spec.dataSource.objectRef.name
string
Required value
A name of existingVirtualImage
orClusterVirtualImage
.
-
spec.dataSource.objectRef.kind
string
-
spec.dataSource.type
string
Required value
The type of an origin of the image. Options are:
HTTP
— fill the image with data from some external http/https url.ContainerImage
— use an image, stored in container registry image.ObjectRef
— fill the disk from another existingVirtualImage
orClusterVirtualImage
.Upload
— fill the image with data, uploaded by user via the special interface.
Allowed values:
HTTP
,ContainerImage
,ObjectRef
,Upload
-
spec.dataSource.containerImage
object
-
spec.storage
string
Required value
Storage type to store the image for current virtualization setup.
ContainerRegistry
— use a dedicated deckhouse virtualization container registry (DVCR). In this case, images will be downloaded and injected to a container, then pushed to a DVCR (shipped with the virtualization module).
Default:
ContainerRegistry
Allowed values:
ContainerRegistry
-
spec.dataSource
object
VirtualMachine
Scope: Namespaced
Version: v1alpha2
-
spec
object
-
spec.affinity
object
The same as in the pods
spec.affinity
parameter in Kubernetes;The affinity setting is completely similar to the above documentation, the only difference is in the names of some parameters. In fact, the following analogs are used:
- podAffinity -> virtualMachineAndPodAffinity
- podAffinityTerm -> virtualMachineAndPodAffinityTerm
-
spec.affinity.nodeAffinity
object
Describes node affinity scheduling rules for the VM.
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
array of objects
- spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.key string
- spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.operator string
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values
array of strings
- spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions.values.Element of the array string
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields
array of objects
- spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.key string
- spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.operator string
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values
array of strings
- spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchFields.values.Element of the array string
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference.matchExpressions
array of objects
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Allowed values:
1 <= X <= 100
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution.preference
object
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
object
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
array of objects
Required value
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
array of objects
- spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.key string
- spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.operator string
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values
array of strings
- spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions.values.Element of the array string
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields
array of objects
- spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.key string
- spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.operator string
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values
array of strings
- spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchFields.values.Element of the array string
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms.matchExpressions
array of objects
-
spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
array of objects
-
spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.virtualMachineAndPodAffinity
object
Describes pod and VM affinity scheduling rules.
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
array of strings
- spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces.Element of the array string
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKey
string
Required value
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Allowed values:
1 <= X <= 100
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
object
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
array of strings
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces.Element of the array string
- spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey string
-
spec.affinity.virtualMachineAndPodAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
-
spec.affinity.virtualMachineAndPodAffinity.preferredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity
object
Describes pod and VM anti-affinity scheduling rules.
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.matchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.mismatchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaceSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.namespaces.Element of the array string
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.topologyKey
string
Required value
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm.labelSelector
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.weight
integer
Allowed values:
1 <= X <= 100
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.virtualMachineAndPodAffinityTerm
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.matchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.mismatchLabelKeys.Element of the array string
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
array of objects
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.key string
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.operator string
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions.values.Element of the array string
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchLabels object
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaceSelector.matchExpressions
array of objects
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces
array of strings
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.namespaces.Element of the array string
- spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.topologyKey string
-
spec.affinity.virtualMachineAndPodAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution.labelSelector
object
-
spec.affinity.virtualMachineAndPodAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
array of objects
-
spec.blockDeviceRefs
array of objects
Required value
List of block devices that can be mounted by disks belonging to the virtual machine. The order of booting is determined by the order in the list.-
spec.blockDeviceRefs.kind
string
The type of the block device. Options are:
ClusterVirtualImage
— UseClusterVirtualImage
as the disk. This type is always mounted in RO mode. If the image is an iso-image, it will be mounted as a CDROM device.VirtualImage
— UseVirtualImage
as the disk. This type is always mounted in RO mode. If the image is an iso-image, it will be mounted as a CDROM device.VirtualDisk
— UseVirtualDisk
as the disk. This type is always mounted in RW mode.
Allowed values:
ClusterVirtualImage
,VirtualImage
,VirtualDisk
-
spec.blockDeviceRefs.name
string
The name of attached resource.
-
spec.blockDeviceRefs.kind
string
-
spec.bootloader
string
Defines bootloader for VM.
- BIOS - use legacy BIOS.
- EFI - use Unified Extensible Firmware (EFI/UEFI).
- EFIWithSecureBoot - use UEFI/EFI with SecureBoot support.
Default:
BIOS
Allowed values:
BIOS
,EFI
,EFIWithSecureBoot
-
spec.cpu
object
Required value
Specifies the CPU settings for the VM.-
spec.cpu.coreFraction
string
Guaranteed share of CPU that will be allocated to the VM. Specified as a percentage. Supported values:
5%
,10%
,25%
,50%
,100%
.Default:
100%
Allowed values:
5%
,10%
,25%
,50%
,100%
-
spec.cpu.cores
integer
Required value
Specifies the number of cores inside the VM. The value must be greater or equal 1.Allowed values:
1 <= X
-
spec.cpu.virtualMachineCPUModel
string
Name of
VirtualMachineCPUModel
resource holding the CPU model of the VirtualMachine.Default:
generic-v1
-
spec.cpu.coreFraction
string
-
spec.disruptions
object
Disruptions settings for virtual machine.
Some virtual machine settings require a reboot of the virtual machine when changing the configuration. To reboot, it is necessary to approve the changes. The
approvalMode
parameter is used for this purpose.Default:
{ "restartApprovalMode": "Manual" }
-
spec.disruptions.restartApprovalMode
string
The approval mode for disruptive updates:
Manual
— restart virtual machine manually to apply disruptive updates.Automatic
— virtual machine will restart automatically to apply disruptive updates.
Allowed values:
Manual
,Automatic
-
spec.disruptions.restartApprovalMode
string
-
spec.enableParavirtualization
boolean
Use the
virtio
bus to attach disk devices. Set to false to disablevirtio
for this VM.Default:
true
-
spec.memory
object
Required value
Specifies the memory settings for the VM.-
spec.memory.size
string
Required value
Describes the maximum amount of memory resources allowed.Pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
-
spec.memory.size
string
-
spec.nodeSelector
object
The same as in the pods
spec.nodeSelector
parameter in Kubernetes; -
spec.osType
string
For the selected type of operating system, determines the set of devices and other parameters required for correct operation will be applied to VM.
- Windows - for the Microsoft Windows family of OS.
- Generic - for other types of OS.
Default:
Generic
Allowed values:
Windows
,Generic
-
spec.priorityClassName
string
The same as in the pods
spec.priorityClassName
parameter in Kubernetes; -
spec.provisioning
object
This block allows you to configure the provisioning script for the VM.
-
spec.provisioning.sysprepRef
object
Reference to an existing Windows sysprep automation.
-
spec.provisioning.sysprepRef.kind
string
Required value
The kind of an existing Windows sysprep automation.Default:
Secret
Allowed values:
Secret
-
spec.provisioning.sysprepRef.name
string
Required value
Secret name.
-
spec.provisioning.sysprepRef.kind
string
-
spec.provisioning.type
string
This parameter defines the type of provisioning script:
-
UserData - allows the use of inline cloud-init userdata in the .spec.provisioning.UserData section.
-
UserDataRef - allows tto automate OS installation with cloud-init userdata.
-
SysprepRef - allows to automate Windows installation, setup, and custom software provisioning.
More information: https://cloudinit.readthedocs.io/en/latest/reference/examples.html
Allowed values:
UserData
,UserDataRef
,SysprepRef
-
-
spec.provisioning.userData
string
Inline cloud-init userdata script.
-
spec.provisioning.userDataRef
object
Reference to an existing Secret with a cloud-init userdata script.
-
spec.provisioning.userDataRef.kind
string
Required value
The kind of an existing Windows sysprep automation.Default:
Secret
Allowed values:
Secret
-
spec.provisioning.userDataRef.name
string
Required value
Secret name.
-
spec.provisioning.userDataRef.kind
string
-
spec.provisioning.sysprepRef
object
-
spec.runPolicy
string
This parameter defines the VM startup policy
AlwaysOn
- after creation the VM is always in a running state, even in case of its shutdown by OS means.AlwaysOff
- after creation the VM is always in the off state.Manual
- after creation the VM is switched off, the VM state (switching on/off) is controlled via sub-resources or OS means.AlwaysOnUnlessStoppedManually
- after creation the VM is always in a running state, even in case of its shutdown by means of the OS, the VM can be shut down using the corresponding subresource.
Default:
AlwaysOnUnlessStoppedManually
Allowed values:
AlwaysOn
,AlwaysOff
,Manual
,AlwaysOnUnlessStoppedManually
-
spec.terminationGracePeriodSeconds
integer
Grace period observed after signalling a VM to stop after which the VM is force terminated.
Default:
60
-
spec.tolerations
array of objects
The same as in the pods
spec.tolerations
parameter in Kubernetes;- spec.tolerations.effect string
- spec.tolerations.key string
- spec.tolerations.operator string
- spec.tolerations.tolerationSeconds integer
- spec.tolerations.value string
-
spec.topologySpreadConstraints
array of objects
The same as in the pods
spec.topologySpreadConstraints
parameter in Kubernetes;-
spec.topologySpreadConstraints.labelSelector
object
-
spec.topologySpreadConstraints.labelSelector.matchExpressions
array of objects
- spec.topologySpreadConstraints.labelSelector.matchExpressions.key string
- spec.topologySpreadConstraints.labelSelector.matchExpressions.operator string
-
spec.topologySpreadConstraints.labelSelector.matchExpressions.values
array of strings
- spec.topologySpreadConstraints.labelSelector.matchExpressions.values.Element of the array string
- spec.topologySpreadConstraints.labelSelector.matchLabels object
-
spec.topologySpreadConstraints.labelSelector.matchExpressions
array of objects
- spec.topologySpreadConstraints.maxSkew integer
- spec.topologySpreadConstraints.topologyKey string
- spec.topologySpreadConstraints.whenUnsatisfiable string
-
spec.topologySpreadConstraints.labelSelector
object
-
spec.virtualMachineIPAddressClaim
string
The name for associated
VirtualMachineIPAddressClaim
resource.If specified, VirtualMachineIPAddressClaim should exists on VirtualMachine creation. If not specified, a VirtualMachine name will be used to create an implicit VirtualMachineIPAddressClaim. This claim will be deleted on VirtualMachine deletion.
-
spec.affinity
object
VirtualMachineBlockDeviceAttachment
Scope: Namespaced
Version: v1alpha2
-
spec
object
-
spec.blockDeviceRef
object
Required value
The block device that will be connected as a hot plug disk to the virtual machine.-
spec.blockDeviceRef.kind
string
Required value
The type of the block device. Options are:
VirtualDisk
— UseVirtualDisk
as the disk. This type is always mounted in RW mode.
Allowed values:
VirtualDisk
-
spec.blockDeviceRef.name
string
Required value
The name of block device to attach.
-
spec.blockDeviceRef.kind
string
-
spec.virtualMachine
string
Required value
The name of the virtual machine to which the disk or image is connected.
-
spec.blockDeviceRef
object
VirtualMachineCPUModel
Scope: Cluster
Version: v1alpha2
-
spec
object
-
spec.features
array of strings
Required instructions for the CPU as a list More information about features here
Example:
features: - mmx - vmx - sse2
-
spec.model
string
The name of CPU model. More information about models here
Example:
model: IvyBridge
-
spec.type
string
Required value
Resource type, the following options are supported:
- Host - use the host’s physical CPU directly.
- Model - CPU model. A CPU model is a named and previously defined set of supported processor instructions.
- Features - the required set of supported instructions for the processor.
Allowed values:
Host
,Model
,Features
-
spec.features
array of strings
VirtualMachineIPAddressClaim
Scope: Namespaced
Version: v1alpha2
- apiVersion string
- kind string
- metadata object
-
spec
object
The desired state of
VirtualMachineIPAddressClaim
.-
spec.address
string
The requested IP address. If omitted the next available IP address will be assigned.
-
spec.reclaimPolicy
string
Reclaim policies to determine the behavior of
VirtualMachineIPAddressLease
uponVirtualMachineIPAddressClaim
deletion.Delete
— this means that aVirtualMachineIPAddressLease
is automatically deleted when a user deletes the correspondingVirtualMachineIPAddressClaim
.Retain
— if a user deletes aVirtualMachineIPAddressClaim
, the correspondingVirtualMachineIPAddressLease
will not be deleted. Instead, it is moved to the Released phase, where its ip address can be manually reclaimed.
Default:
Delete
Allowed values:
Delete
,Retain
-
spec.virtualMachineIPAddressLease
string
The issued
VirtualMachineIPAddressLease
, managed automatically.
-
spec.address
string
VirtualMachineIPAddressLease
Scope: Cluster
Version: v1alpha2
VirtualMachineIPAddressClaim
.- apiVersion string
- kind string
- metadata object
-
spec
object
The desired state of
VirtualMachineIPAddressLease
.-
spec.claimRef
object
The link to existing
VirtualMachineIPAddressClaim
.-
spec.claimRef.name
string
Required value
The name of the referencedVirtualMachineIPAddressClaim
. -
spec.claimRef.namespace
string
Required value
The Namespace of the referencedVirtualMachineIPAddressClaim
.
-
spec.claimRef.name
string
-
spec.reclaimPolicy
string
Reclaim policies to determine the behavior of
VirtualMachineIPAddressLease
uponVirtualMachineIPAddressClaim
deletion.Delete
— this means that aVirtualMachineIPAddressLease
is automatically deleted when a user deletes the correspondingVirtualMachineIPAddressClaim
.Retain
— if a user deletes aVirtualMachineIPAddressClaim
, the correspondingVirtualMachineIPAddressLease
will not be deleted. Instead, it is moved to the Released phase, where its ip address can be manually reclaimed.
Default:
Delete
Allowed values:
Delete
,Retain
-
spec.claimRef
object
VirtualMachineOperation
Scope: Namespaced
Version: v1alpha2
-
spec
object
-
spec.force
boolean
Force the execution of the operation. Applies only for Restart and Stop. In this case, the action on the virtual machine is performed immediately.
-
spec.type
string
Operation over the virtualmachine:
- Start - start the virtualmachine.
- Stop - stop the virtualmachine.
- Restart - restart the virtualmachine.
Allowed values:
Start
,Stop
,Restart
-
spec.virtualMachine
string
Required value
The name of the virtual machine for which the operation is performed.
-
spec.force
boolean