VirtualMachine [virtualmachines.kubevirt.io/v1]
- 描述
- VirtualMachine handles the VirtualMachines that are not running or are in a stopped state The VirtualMachine contains the template to create the VirtualMachineInstance. It also mirrors the running state of the created VirtualMachineInstance in its status.
- 类型
object- 必填
spec
规格
.spec
- 描述
- Spec contains the specification of VirtualMachineInstance created
- 类型
object- 必填
template
.spec.dataVolumeTemplates
- 描述
- dataVolumeTemplates is a list of dataVolumes that the VirtualMachineInstance template can reference. DataVolumes in this list are dynamically created for the VirtualMachine and are tied to the VirtualMachine's life-cycle.
- 类型
array
.spec.dataVolumeTemplates[]
- 类型
object- 必填
spec
.spec.dataVolumeTemplates[].spec
- 描述
- DataVolumeSpec contains the DataVolume specification.
- 类型
object
.spec.dataVolumeTemplates[].spec.checkpoints
- 描述
- Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.
- 类型
array
.spec.dataVolumeTemplates[].spec.checkpoints[]
- 描述
- DataVolumeCheckpoint defines a stage in a warm migration.
- 类型
object- 必填
currentprevious
.spec.dataVolumeTemplates[].spec.pvc
- 描述
- PVC is the PVC specification
- 类型
object
.spec.dataVolumeTemplates[].spec.pvc.accessModes
- 描述
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- 类型
array
.spec.dataVolumeTemplates[].spec.pvc.accessModes[]
- 类型
string
.spec.dataVolumeTemplates[].spec.pvc.dataSource
- 描述
- dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.
- 类型
object- 必填
kindname
.spec.dataVolumeTemplates[].spec.pvc.dataSourceRef
- 描述
- dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
- 类型
object- 必填
kindname
.spec.dataVolumeTemplates[].spec.pvc.resources
- 描述
- resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- 类型
object
.spec.dataVolumeTemplates[].spec.pvc.resources.limits
- 描述
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- 类型
object
.spec.dataVolumeTemplates[].spec.pvc.resources.requests
- 描述
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- 类型
object
.spec.dataVolumeTemplates[].spec.pvc.selector
- 描述
- selector is a label query over volumes to consider for binding.
- 类型
object
.spec.dataVolumeTemplates[].spec.pvc.selector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.dataVolumeTemplates[].spec.pvc.selector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.dataVolumeTemplates[].spec.pvc.selector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.dataVolumeTemplates[].spec.pvc.selector.matchExpressions[].values[]
- 类型
string
.spec.dataVolumeTemplates[].spec.pvc.selector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.dataVolumeTemplates[].spec.source
- 描述
- Source is the src of the data for the requested DataVolume
- 类型
object
.spec.dataVolumeTemplates[].spec.source.blank
- 描述
- DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC
- 类型
object
.spec.dataVolumeTemplates[].spec.source.gcs
- 描述
- DataVolumeSourceGCS provides the parameters to create a Data Volume from an GCS source
- 类型
object- 必填
url
.spec.dataVolumeTemplates[].spec.source.http
- 描述
- DataVolumeSourceHTTP can be either an http or https endpoint, with an optional basic auth user name and password, and an optional configmap containing additional CAs
- 类型
object- 必填
url
.spec.dataVolumeTemplates[].spec.source.http.extraHeaders
- 描述
- ExtraHeaders is a list of strings containing extra headers to include with HTTP transfer requests
- 类型
array
.spec.dataVolumeTemplates[].spec.source.http.extraHeaders[]
- 类型
string
.spec.dataVolumeTemplates[].spec.source.http.secretExtraHeaders
- 描述
- SecretExtraHeaders is a list of Secret references, each containing an extra HTTP header that may include sensitive information
- 类型
array
.spec.dataVolumeTemplates[].spec.source.http.secretExtraHeaders[]
- 类型
string
.spec.dataVolumeTemplates[].spec.source.imageio
- 描述
- DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source
- 类型
object- 必填
diskIdurl
.spec.dataVolumeTemplates[].spec.source.pvc
- 描述
- DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC
- 类型
object- 必填
namenamespace
.spec.dataVolumeTemplates[].spec.source.registry
- 描述
- DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source
- 类型
object
.spec.dataVolumeTemplates[].spec.source.registry.platform
- 描述
- Platform describes the minimum runtime requirements of the image
- 类型
object
.spec.dataVolumeTemplates[].spec.source.s3
- 描述
- DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source
- 类型
object- 必填
url
.spec.dataVolumeTemplates[].spec.source.snapshot
- 描述
- DataVolumeSourceSnapshot provides the parameters to create a Data Volume from an existing VolumeSnapshot
- 类型
object- 必填
namenamespace
.spec.dataVolumeTemplates[].spec.source.upload
- 描述
- DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source
- 类型
object
.spec.dataVolumeTemplates[].spec.source.vddk
- 描述
- DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source
- 类型
object
.spec.dataVolumeTemplates[].spec.sourceRef
- 描述
- SourceRef is an indirect reference to the source of data for the requested DataVolume
- 类型
object- 必填
kindname
.spec.dataVolumeTemplates[].spec.storage
- 描述
- Storage is the requested storage specification
- 类型
object
.spec.dataVolumeTemplates[].spec.storage.accessModes
- 描述
- AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- 类型
array
.spec.dataVolumeTemplates[].spec.storage.accessModes[]
- 类型
string
.spec.dataVolumeTemplates[].spec.storage.dataSource
- 描述
- This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) * An existing custom resource that implements data population (Alpha) In order to use custom resource types that implement data population, the AnyVolumeDataSource feature gate must be enabled. If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.
- 类型
object- 必填
kindname
.spec.dataVolumeTemplates[].spec.storage.dataSourceRef
- 描述
- Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
- 类型
object- 必填
kindname
.spec.dataVolumeTemplates[].spec.storage.resources
- 描述
- Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- 类型
object
.spec.dataVolumeTemplates[].spec.storage.resources.limits
- 描述
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- 类型
object
.spec.dataVolumeTemplates[].spec.storage.resources.requests
- 描述
- Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- 类型
object
.spec.dataVolumeTemplates[].spec.storage.selector
- 描述
- A label query over volumes to consider for binding.
- 类型
object
.spec.dataVolumeTemplates[].spec.storage.selector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.dataVolumeTemplates[].spec.storage.selector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.dataVolumeTemplates[].spec.storage.selector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.dataVolumeTemplates[].spec.storage.selector.matchExpressions[].values[]
- 类型
string
.spec.dataVolumeTemplates[].spec.storage.selector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.dataVolumeTemplates[].status
- 描述
- DataVolumeTemplateDummyStatus is here simply for backwards compatibility with a previous API.
- 类型
object
.spec.instancetype
- 描述
- InstancetypeMatcher references a instancetype that is used to fill fields in Template
- 类型
object
.spec.preference
- 描述
- PreferenceMatcher references a set of preference that is used to fill fields in Template
- 类型
object
.spec.template
- 描述
- Template is the direct specification of VirtualMachineInstance
- 类型
object
.spec.template.spec
- 描述
- VirtualMachineInstance Spec contains the VirtualMachineInstance specification.
- 类型
object- 必填
domain
.spec.template.spec.accessCredentials
- 描述
- Specifies a set of public keys to inject into the vm guest
- 类型
array
.spec.template.spec.accessCredentials[]
- 描述
- AccessCredential represents a credential source that can be used to authorize remote access to the vm guest Only one of its members may be specified.
- 类型
object
.spec.template.spec.accessCredentials[].sshPublicKey
- 描述
- SSHPublicKey represents the source and method of applying a ssh public key into a guest virtual machine.
- 类型
object- 必填
propagationMethodsource
.spec.template.spec.accessCredentials[].sshPublicKey.propagationMethod
- 描述
- PropagationMethod represents how the public key is injected into the vm guest.
- 类型
object
.spec.template.spec.accessCredentials[].sshPublicKey.propagationMethod.configDrive
- 描述
- ConfigDrivePropagation means that the ssh public keys are injected into the VM using metadata using the configDrive cloud-init provider
- 类型
object
.spec.template.spec.accessCredentials[].sshPublicKey.propagationMethod.noCloud
- 描述
- NoCloudPropagation means that the ssh public keys are injected into the VM using metadata using the noCloud cloud-init provider
- 类型
object
.spec.template.spec.accessCredentials[].sshPublicKey.propagationMethod.qemuGuestAgent
- 描述
- QemuGuestAgentAccessCredentailPropagation means ssh public keys are dynamically injected into the vm at runtime via the qemu guest agent. This feature requires the qemu guest agent to be running within the guest.
- 类型
object- 必填
users
.spec.template.spec.accessCredentials[].sshPublicKey.propagationMethod.qemuGuestAgent.users
- 描述
- Users represents a list of guest users that should have the ssh public keys added to their authorized_keys file.
- 类型
array
.spec.template.spec.accessCredentials[].sshPublicKey.propagationMethod.qemuGuestAgent.users[]
- 类型
string
.spec.template.spec.accessCredentials[].sshPublicKey.source
- 描述
- Source represents where the public keys are pulled from
- 类型
object
.spec.template.spec.accessCredentials[].sshPublicKey.source.secret
- 描述
- Secret means that the access credential is pulled from a kubernetes secret
- 类型
object- 必填
secretName
.spec.template.spec.accessCredentials[].userPassword
- 描述
- UserPassword represents the source and method for applying a guest user's password
- 类型
object- 必填
propagationMethodsource
.spec.template.spec.accessCredentials[].userPassword.propagationMethod
- 描述
- propagationMethod represents how the user passwords are injected into the vm guest.
- 类型
object
.spec.template.spec.accessCredentials[].userPassword.propagationMethod.qemuGuestAgent
- 描述
- QemuGuestAgentAccessCredentailPropagation means passwords are dynamically injected into the vm at runtime via the qemu guest agent. This feature requires the qemu guest agent to be running within the guest.
- 类型
object
.spec.template.spec.accessCredentials[].userPassword.source
- 描述
- Source represents where the user passwords are pulled from
- 类型
object
.spec.template.spec.accessCredentials[].userPassword.source.secret
- 描述
- Secret means that the access credential is pulled from a kubernetes secret
- 类型
object- 必填
secretName
.spec.template.spec.affinity
- 描述
- If affinity is specifies, obey all the affinity rules
- 类型
object
.spec.template.spec.affinity.nodeAffinity
- 描述
- Describes node affinity scheduling rules for the pod.
- 类型
object
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node matches the corresponding matchExpressions; the node(s) with the highest sum are the most preferred.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).
- 类型
object- 必填
preferenceweight
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- 描述
- A node selector term, associated with the corresponding weight.
- 类型
object
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- 描述
- A list of node selector requirements by node's labels.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- 描述
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- 描述
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- 描述
- A list of node selector requirements by node's fields.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- 描述
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- 描述
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- 类型
string
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.
- 类型
object- 必填
nodeSelectorTerms
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- 描述
- Required. A list of node selector terms. The terms are ORed.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- 描述
- A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
- 类型
object
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- 描述
- A list of node selector requirements by node's labels.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- 描述
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- 描述
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- 描述
- A list of node selector requirements by node's fields.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- 描述
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- 描述
- An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- 类型
string
.spec.template.spec.affinity.podAffinity
- 描述
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- 类型
object
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- The scheduler will prefer to schedule pods to nodes that satisfy the affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- 类型
object- 必填
podAffinityTermweight
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- Required. A pod affinity term, associated with the corresponding weight.
- 类型
object- 必填
topologyKey
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- 描述
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- 类型
object
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- 描述
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- 描述
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- 描述
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- 类型
object
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- 描述
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- 类型
array
.spec.template.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- 类型
string
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- 类型
object- 必填
topologyKey
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- 描述
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- 类型
object
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- 描述
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- 描述
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- 描述
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- 类型
object
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- 描述
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- 类型
array
.spec.template.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity
- 描述
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- 描述
- The scheduler will prefer to schedule pods to nodes that satisfy the anti-affinity expressions specified by this field, but it may choose a node that violates one or more of the expressions. The node that is most preferred is the one with the greatest sum of weights, i.e. for each node that meets all of the scheduling requirements (resource request, requiredDuringScheduling anti-affinity expressions, etc.), compute a sum by iterating through the elements of this field and adding "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- 描述
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- 类型
object- 必填
podAffinityTermweight
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- 描述
- Required. A pod affinity term, associated with the corresponding weight.
- 类型
object- 必填
topologyKey
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- 描述
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- 描述
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- 描述
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- 描述
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- 描述
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- 描述
- If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- 描述
- Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
- 类型
object- 必填
topologyKey
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- 描述
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- 描述
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key in (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- 描述
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with 'labelSelector' as 'key notin (value)' to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- 描述
- A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- 描述
- namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
- 类型
array
.spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- 类型
string
.spec.template.spec.dnsConfig
- 描述
- Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.
- 类型
object
.spec.template.spec.dnsConfig.nameservers
- 描述
- A list of DNS name server IP addresses. This will be appended to the base nameservers generated from DNSPolicy. Duplicated nameservers will be removed.
- 类型
array
.spec.template.spec.dnsConfig.nameservers[]
- 类型
string
.spec.template.spec.dnsConfig.options
- 描述
- A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.
- 类型
array
.spec.template.spec.dnsConfig.options[]
- 描述
- PodDNSConfigOption defines DNS resolver options of a pod.
- 类型
object
.spec.template.spec.dnsConfig.searches
- 描述
- A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.
- 类型
array
.spec.template.spec.dnsConfig.searches[]
- 类型
string
.spec.template.spec.domain
- 描述
- Specification of the desired behavior of the VirtualMachineInstance on the host.
- 类型
object- 必填
devices
.spec.template.spec.domain.chassis
- 描述
- Chassis specifies the chassis info passed to the domain.
- 类型
object
.spec.template.spec.domain.clock
- 描述
- Clock sets the clock and timers of the vmi.
- 类型
object
.spec.template.spec.domain.clock.timer
- 描述
- Timer specifies whih timers are attached to the vmi.
- 类型
object
.spec.template.spec.domain.clock.timer.hpet
- 描述
- HPET (High Precision Event Timer) - multiple timers with periodic interrupts.
- 类型
object
.spec.template.spec.domain.clock.timer.hyperv
- 描述
- Hyperv (Hypervclock) - lets guests read the host’s wall clock time (paravirtualized). For windows guests.
- 类型
object
.spec.template.spec.domain.clock.timer.kvm
- 描述
- KVM (KVM clock) - lets guests read the host’s wall clock time (paravirtualized). For linux guests.
- 类型
object
.spec.template.spec.domain.clock.timer.pit
- 描述
- PIT (Programmable Interval Timer) - a timer with periodic interrupts.
- 类型
object
.spec.template.spec.domain.clock.timer.rtc
- 描述
- RTC (Real Time Clock) - a continuously running timer with periodic interrupts.
- 类型
object
.spec.template.spec.domain.clock.utc
- 描述
- UTC sets the guest clock to UTC on each boot. If an offset is specified, guest changes to the clock will be kept during reboots and are not reset.
- 类型
object
.spec.template.spec.domain.cpu
- 描述
- CPU allow specified the detailed CPU topology inside the vmi.
- 类型
object
.spec.template.spec.domain.cpu.features
- 描述
- Features specifies the CPU features list inside the VMI.
- 类型
array
.spec.template.spec.domain.cpu.features[]
- 描述
- CPUFeature allows specifying a CPU feature.
- 类型
object- 必填
name
.spec.template.spec.domain.cpu.numa
- 描述
- NUMA allows specifying settings for the guest NUMA topology
- 类型
object
.spec.template.spec.domain.cpu.numa.guestMappingPassthrough
- 描述
- GuestMappingPassthrough will create an efficient guest topology based on host CPUs exclusively assigned to a pod. The created topology ensures that memory and CPUs on the virtual numa nodes never cross boundaries of host numa nodes.
- 类型
object
.spec.template.spec.domain.cpu.realtime
- 描述
- Realtime instructs the virt-launcher to tune the VMI for lower latency, optional for real time workloads
- 类型
object
.spec.template.spec.domain.devices
- 描述
- Devices allows adding disks, network interfaces, and others
- 类型
object
.spec.template.spec.domain.devices.clientPassthrough
- 描述
- To configure and access client devices such as redirecting USB
- 类型
object
.spec.template.spec.domain.devices.disks
- 描述
- Disks describes disks, cdroms and luns which are connected to the vmi.
- 类型
array
.spec.template.spec.domain.devices.disks[]
- 类型
object- 必填
name
.spec.template.spec.domain.devices.disks[].blockSize
- 描述
- If specified, the virtual disk will be presented with the given block sizes.
- 类型
object
.spec.template.spec.domain.devices.disks[].blockSize.custom
- 描述
- CustomBlockSize represents the desired logical and physical block size for a VM disk.
- 类型
object
.spec.template.spec.domain.devices.disks[].blockSize.matchVolume
- 描述
- Represents if a feature is enabled or disabled.
- 类型
object
.spec.template.spec.domain.devices.disks[].cdrom
- 描述
- Attach a volume as a cdrom to the vmi.
- 类型
object
.spec.template.spec.domain.devices.disks[].disk
- 描述
- Attach a volume as a disk to the vmi.
- 类型
object
.spec.template.spec.domain.devices.disks[].lun
- 描述
- Attach a volume as a LUN to the vmi.
- 类型
object
.spec.template.spec.domain.devices.downwardMetrics
- 描述
- DownwardMetrics creates a virtio serials for exposing the downward metrics to the vmi.
- 类型
object
.spec.template.spec.domain.devices.filesystems
- 描述
- Filesystems describes filesystem which is connected to the vmi.
- 类型
array
.spec.template.spec.domain.devices.filesystems[]
- 类型
object- 必填
namevirtiofs
.spec.template.spec.domain.devices.filesystems[].virtiofs
- 描述
- Virtiofs is supported
- 类型
object
.spec.template.spec.domain.devices.gpus
- 描述
- Whether to attach a GPU device to the vmi.
- 类型
array
.spec.template.spec.domain.devices.gpus[]
- 类型
object- 必填
name
.spec.template.spec.domain.devices.gpus[].virtualGPUOptions
- 类型
object
.spec.template.spec.domain.devices.gpus[].virtualGPUOptions.display
- 类型
object
.spec.template.spec.domain.devices.gpus[].virtualGPUOptions.display.ramFB
- 描述
- Enables a boot framebuffer, until the guest OS loads a real GPU driver Defaults to true.
- 类型
object
.spec.template.spec.domain.devices.hostDevices
- 描述
- Whether to attach a host device to the vmi.
- 类型
array
.spec.template.spec.domain.devices.hostDevices[]
- 类型
object- 必填
name
.spec.template.spec.domain.devices.inputs
- 描述
- Inputs describe input devices
- 类型
array
.spec.template.spec.domain.devices.inputs[]
- 类型
object- 必填
nametype
.spec.template.spec.domain.devices.interfaces
- 描述
- Interfaces describe network interfaces which are added to the vmi.
- 类型
array
.spec.template.spec.domain.devices.interfaces[]
- 类型
object- 必填
name
.spec.template.spec.domain.devices.interfaces[].binding
- 描述
- Binding specifies the binding plugin that will be used to connect the interface to the guest. It provides an alternative to InterfaceBindingMethod. version: 1alphav1
- 类型
object- 必填
name
.spec.template.spec.domain.devices.interfaces[].bridge
- 描述
- InterfaceBridge connects to a given network via a linux bridge.
- 类型
object
.spec.template.spec.domain.devices.interfaces[].dhcpOptions
- 描述
- If specified the network interface will pass additional DHCP options to the VMI
- 类型
object
.spec.template.spec.domain.devices.interfaces[].dhcpOptions.ntpServers
- 描述
- If specified will pass the configured NTP server to the VM via DHCP option 042.
- 类型
array
.spec.template.spec.domain.devices.interfaces[].dhcpOptions.ntpServers[]
- 类型
string
.spec.template.spec.domain.devices.interfaces[].dhcpOptions.privateOptions
- 描述
- If specified will pass extra DHCP options for private use, range: 224-254
- 类型
array
.spec.template.spec.domain.devices.interfaces[].dhcpOptions.privateOptions[]
- 描述
- DHCPExtraOptions defines Extra DHCP options for a VM.
- 类型
object- 必填
optionvalue
.spec.template.spec.domain.devices.interfaces[].macvtap
- 描述
- DeprecatedMacvtap is an alias to the deprecated Macvtap interface, please refer to Kubevirt user guide for alternatives. Deprecated: Removed in v1.3
- 类型
object
.spec.template.spec.domain.devices.interfaces[].masquerade
- 描述
- InterfaceMasquerade connects to a given network using netfilter rules to nat the traffic.
- 类型
object
.spec.template.spec.domain.devices.interfaces[].passt
- 描述
- DeprecatedPasst is an alias to the deprecated Passt interface, please refer to Kubevirt user guide for alternatives. Deprecated: Removed in v1.3
- 类型
object
.spec.template.spec.domain.devices.interfaces[].ports
- 描述
- List of ports to be forwarded to the virtual machine.
- 类型
array
.spec.template.spec.domain.devices.interfaces[].ports[]
- 描述
- Port represents a port to expose from the virtual machine. Default protocol TCP. The port field is mandatory
- 类型
object- 必填
port
.spec.template.spec.domain.devices.interfaces[].slirp
- 描述
- DeprecatedSlirp is an alias to the deprecated Slirp interface Deprecated: Removed in v1.3
- 类型
object
.spec.template.spec.domain.devices.interfaces[].sriov
- 描述
- InterfaceSRIOV connects to a given network by passing-through an SR-IOV PCI device via vfio.
- 类型
object
.spec.template.spec.domain.devices.panicDevices
- 描述
- PanicDevices provides additional crash information when a guest crashes.
- 类型
array
.spec.template.spec.domain.devices.panicDevices[]
- 类型
object
.spec.template.spec.domain.devices.rng
- 描述
- Whether to have random number generator from host
- 类型
object
.spec.template.spec.domain.devices.sound
- 描述
- Whether to emulate a sound device.
- 类型
object- 必填
name
.spec.template.spec.domain.devices.tpm
- 描述
- Whether to emulate a TPM device.
- 类型
object
.spec.template.spec.domain.devices.video
- 描述
- Video describes the video device configuration for the vmi.
- 类型
object
.spec.template.spec.domain.devices.watchdog
- 描述
- Watchdog describes a watchdog device which can be added to the vmi.
- 类型
object- 必填
name
.spec.template.spec.domain.devices.watchdog.diag288
- 描述
- diag288 watchdog device (specific to s390x architecture).
- 类型
object
.spec.template.spec.domain.devices.watchdog.i6300esb
- 描述
- i6300esb watchdog device.
- 类型
object
.spec.template.spec.domain.features
- 描述
- Features like acpi, apic, hyperv, smm.
- 类型
object
.spec.template.spec.domain.features.acpi
- 描述
- ACPI enables/disables ACPI inside the guest. Defaults to enabled.
- 类型
object
.spec.template.spec.domain.features.apic
- 描述
- Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv
- 描述
- Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.evmcs
- 描述
- EVMCS Speeds up L2 vmexits, but disables other virtualization features. Requires vapic. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.frequencies
- 描述
- Frequencies improves the TSC clock source handling for Hyper-V on KVM. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.ipi
- 描述
- IPI improves performances in overcommited environments. Requires vpindex. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.reenlightenment
- 描述
- Reenlightenment enables the notifications on TSC frequency changes. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.relaxed
- 描述
- Relaxed instructs the guest OS to disable watchdog timeouts. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.reset
- 描述
- Reset enables Hyperv reboot/reset for the vmi. Requires synic. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.runtime
- 描述
- Runtime improves the time accounting to improve scheduling in the guest. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.spinlocks
- 描述
- Spinlocks allows to configure the spinlock retry attempts.
- 类型
object
.spec.template.spec.domain.features.hyperv.synic
- 描述
- SyNIC enables the Synthetic Interrupt Controller. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.synictimer
- 描述
- SyNICTimer enables Synthetic Interrupt Controller Timers, reducing CPU load. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.synictimer.direct
- 描述
- Represents if a feature is enabled or disabled.
- 类型
object
.spec.template.spec.domain.features.hyperv.tlbflush
- 描述
- TLBFlush improves performances in overcommited environments. Requires vpindex. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.vapic
- 描述
- VAPIC improves the paravirtualized handling of interrupts. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.vendorid
- 描述
- VendorID allows setting the hypervisor vendor id. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hyperv.vpindex
- 描述
- VPIndex enables the Virtual Processor Index to help windows identifying virtual processors. Defaults to the machine type setting.
- 类型
object
.spec.template.spec.domain.features.hypervPassthrough
- 描述
- This enables all supported hyperv flags automatically. Bear in mind that if this enabled hyperV features cannot be enabled explicitly. In addition, a Virtual Machine using it will be non-migratable.
- 类型
object
.spec.template.spec.domain.features.kvm
- 描述
- Configure how KVM presence is exposed to the guest.
- 类型
object
.spec.template.spec.domain.features.pvspinlock
- 描述
- Notify the guest that the host supports paravirtual spinlocks. For older kernels this feature should be explicitly disabled.
- 类型
object
.spec.template.spec.domain.features.smm
- 描述
- SMM enables/disables System Management Mode. TSEG not yet implemented.
- 类型
object
.spec.template.spec.domain.firmware
- 描述
- Firmware.
- 类型
object
.spec.template.spec.domain.firmware.acpi
- 描述
- Information that can be set in the ACPI table
- 类型
object
.spec.template.spec.domain.firmware.bootloader
- 描述
- Settings to control the bootloader that is used.
- 类型
object
.spec.template.spec.domain.firmware.bootloader.bios
- 描述
- If set (default), BIOS will be used.
- 类型
object
.spec.template.spec.domain.firmware.bootloader.efi
- 描述
- If set, EFI will be used instead of BIOS.
- 类型
object
.spec.template.spec.domain.firmware.kernelBoot
- 描述
- Settings to set the kernel for booting.
- 类型
object
.spec.template.spec.domain.firmware.kernelBoot.container
- 描述
- Container defines the container that containes kernel artifacts
- 类型
object- 必填
image
.spec.template.spec.domain.ioThreads
- 描述
- IOThreads specifies the IOThreads options.
- 类型
object
.spec.template.spec.domain.launchSecurity
- 描述
- Launch Security setting of the vmi.
- 类型
object
.spec.template.spec.domain.launchSecurity.sev
- 描述
- AMD Secure Encrypted Virtualization (SEV).
- 类型
object
.spec.template.spec.domain.launchSecurity.sev.attestation
- 描述
- If specified, run the attestation process for a vmi.
- 类型
object
.spec.template.spec.domain.launchSecurity.sev.policy
- 描述
- Guest policy flags as defined in AMD SEV API specification. Note: due to security reasons it is not allowed to enable guest debugging. Therefore NoDebug flag is not exposed to users and is always true.
- 类型
object
.spec.template.spec.domain.launchSecurity.snp
- 描述
- AMD SEV-SNP flags defined by the SEV-SNP specifications.
- 类型
object
.spec.template.spec.domain.launchSecurity.tdx
- 描述
- Intel Trust Domain Extensions (TDX).
- 类型
object
.spec.template.spec.domain.machine
- 描述
- Machine type.
- 类型
object
.spec.template.spec.domain.memory
- 描述
- Memory allow specifying the VMI memory features.
- 类型
object
.spec.template.spec.domain.memory.hugepages
- 描述
- Hugepages allow to use hugepages for the VirtualMachineInstance instead of regular memory.
- 类型
object
.spec.template.spec.domain.resources
- 描述
- Resources describes the Compute Resources required by this vmi.
- 类型
object
.spec.template.spec.domain.resources.limits
- 描述
- Limits describes the maximum amount of compute resources allowed. Valid resource keys are "memory" and "cpu".
- 类型
object
.spec.template.spec.domain.resources.requests
- 描述
- Requests is a description of the initial vmi resources. Valid resource keys are "memory" and "cpu".
- 类型
object
.spec.template.spec.livenessProbe
- 描述
- Periodic probe of VirtualMachineInstance liveness. VirtualmachineInstances will be stopped if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
- 类型
object
.spec.template.spec.livenessProbe.exec
- 描述
- One and only one of the following should be specified. Exec specifies the action to take, it will be executed on the guest through the qemu-guest-agent. If the guest agent is not available, this probe will fail.
- 类型
object
.spec.template.spec.livenessProbe.exec.command
- 描述
- Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- 类型
array
.spec.template.spec.livenessProbe.exec.command[]
- 类型
string
.spec.template.spec.livenessProbe.guestAgentPing
- 描述
- GuestAgentPing contacts the qemu-guest-agent for availability checks.
- 类型
object
.spec.template.spec.livenessProbe.httpGet
- 描述
- HTTPGet specifies the http request to perform.
- 类型
object- 必填
port
.spec.template.spec.livenessProbe.httpGet.httpHeaders
- 描述
- Custom headers to set in the request. HTTP allows repeated headers.
- 类型
array
.spec.template.spec.livenessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader describes a custom header to be used in HTTP probes
- 类型
object- 必填
namevalue
.spec.template.spec.livenessProbe.tcpSocket
- 描述
- TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
- 类型
object- 必填
port
.spec.template.spec.networks
- 描述
- List of networks that can be attached to a vm's virtual interface.
- 类型
array
.spec.template.spec.networks[]
- 描述
- Network represents a network type and a resource that should be connected to the vm.
- 类型
object- 必填
name
.spec.template.spec.networks[].multus
- 描述
- Represents the multus cni network.
- 类型
object- 必填
networkName
.spec.template.spec.networks[].pod
- 描述
- Represents the stock pod network interface.
- 类型
object
.spec.template.spec.nodeSelector
- 描述
- NodeSelector is a selector which must be true for the vmi to fit on a node. Selector which must match a node's labels for the vmi to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
- 类型
object
.spec.template.spec.readinessProbe
- 描述
- Periodic probe of VirtualMachineInstance service readiness. VirtualmachineInstances will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
- 类型
object
.spec.template.spec.readinessProbe.exec
- 描述
- One and only one of the following should be specified. Exec specifies the action to take, it will be executed on the guest through the qemu-guest-agent. If the guest agent is not available, this probe will fail.
- 类型
object
.spec.template.spec.readinessProbe.exec.command
- 描述
- Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
- 类型
array
.spec.template.spec.readinessProbe.exec.command[]
- 类型
string
.spec.template.spec.readinessProbe.guestAgentPing
- 描述
- GuestAgentPing contacts the qemu-guest-agent for availability checks.
- 类型
object
.spec.template.spec.readinessProbe.httpGet
- 描述
- HTTPGet specifies the http request to perform.
- 类型
object- 必填
port
.spec.template.spec.readinessProbe.httpGet.httpHeaders
- 描述
- Custom headers to set in the request. HTTP allows repeated headers.
- 类型
array
.spec.template.spec.readinessProbe.httpGet.httpHeaders[]
- 描述
- HTTPHeader describes a custom header to be used in HTTP probes
- 类型
object- 必填
namevalue
.spec.template.spec.readinessProbe.tcpSocket
- 描述
- TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported
- 类型
object- 必填
port
.spec.template.spec.resourceClaims
- 描述
- ResourceClaims define which ResourceClaims must be allocated and reserved before the VMI, hence virt-launcher pod is allowed to start. The resources will be made available to the domain which consumes them by name. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate in kubernetes https://kubernetes.io/docs/concepts/scheduling-eviction/dynamic-resource-allocation/ This field should only be configured if one of the feature-gates GPUsWithDRA or HostDevicesWithDRA is enabled. This feature is in alpha.
- 类型
array
.spec.template.spec.resourceClaims[]
- 描述
- PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
- 类型
object- 必填
name
.spec.template.spec.tolerations
- 描述
- If toleration is specified, obey all the toleration rules.
- 类型
array
.spec.template.spec.tolerations[]
- 描述
- The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
- 类型
object
.spec.template.spec.topologySpreadConstraints
- 描述
- TopologySpreadConstraints describes how a group of VMIs will be spread across a given topology domains. K8s scheduler will schedule VMI pods in a way which abides by the constraints.
- 类型
array
.spec.template.spec.topologySpreadConstraints[]
- 描述
- TopologySpreadConstraint specifies how to spread matching pods among the given topology.
- 类型
object- 必填
maxSkewtopologyKeywhenUnsatisfiable
.spec.template.spec.topologySpreadConstraints[].labelSelector
- 描述
- LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.
- 类型
object
.spec.template.spec.topologySpreadConstraints[].labelSelector.matchExpressions
- 描述
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- 类型
array
.spec.template.spec.topologySpreadConstraints[].labelSelector.matchExpressions[]
- 描述
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- 类型
object- 必填
keyoperator
.spec.template.spec.topologySpreadConstraints[].labelSelector.matchExpressions[].values
- 描述
- values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- 类型
array
.spec.template.spec.topologySpreadConstraints[].labelSelector.matchExpressions[].values[]
- 类型
string
.spec.template.spec.topologySpreadConstraints[].labelSelector.matchLabels
- 描述
- matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
- 类型
object
.spec.template.spec.topologySpreadConstraints[].matchLabelKeys
- 描述
- MatchLabelKeys is a set of pod label keys to select the pods over which spreading will be calculated. The keys are used to lookup values from the incoming pod labels, those key-value labels are ANDed with labelSelector to select the group of existing pods over which spreading will be calculated for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector. MatchLabelKeys cannot be set when LabelSelector isn't set. Keys that don't exist in the incoming pod labels will be ignored. A null or empty list means only match against labelSelector. This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
- 类型
array
.spec.template.spec.topologySpreadConstraints[].matchLabelKeys[]
- 类型
string
.spec.template.spec.volumes
- 描述
- List of volumes that can be mounted by disks belonging to the vmi.
- 类型
array
.spec.template.spec.volumes[]
- 描述
- Volume represents a named volume in a vmi.
- 类型
object- 必填
name
.spec.template.spec.volumes[].cloudInitConfigDrive
- 描述
- CloudInitConfigDrive represents a cloud-init Config Drive user-data source. The Config Drive data will be added as a disk to the vmi. A proper cloud-init installation is required inside the guest. More info: https://cloudinit.readthedocs.io/en/latest/topics/datasources/configdrive.html
- 类型
object
.spec.template.spec.volumes[].cloudInitConfigDrive.networkDataSecretRef
- 描述
- NetworkDataSecretRef references a k8s secret that contains config drive networkdata.
- 类型
object
.spec.template.spec.volumes[].cloudInitConfigDrive.secretRef
- 描述
- UserDataSecretRef references a k8s secret that contains config drive userdata.
- 类型
object
.spec.template.spec.volumes[].cloudInitNoCloud
- 描述
- CloudInitNoCloud represents a cloud-init NoCloud user-data source. The NoCloud data will be added as a disk to the vmi. A proper cloud-init installation is required inside the guest. More info: http://cloudinit.readthedocs.io/en/latest/topics/datasources/nocloud.html
- 类型
object
.spec.template.spec.volumes[].cloudInitNoCloud.networkDataSecretRef
- 描述
- NetworkDataSecretRef references a k8s secret that contains NoCloud networkdata.
- 类型
object
.spec.template.spec.volumes[].cloudInitNoCloud.secretRef
- 描述
- UserDataSecretRef references a k8s secret that contains NoCloud userdata.
- 类型
object
.spec.template.spec.volumes[].configMap
- 描述
- ConfigMapSource represents a reference to a ConfigMap in the same namespace. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
- 类型
object
.spec.template.spec.volumes[].containerDisk
- 描述
- ContainerDisk references a docker image, embedding a qcow or raw disk. More info: https://kubevirt.gitbooks.io/user-guide/registry-disk.html
- 类型
object- 必填
image
.spec.template.spec.volumes[].dataVolume
- 描述
- DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
- 类型
object- 必填
name
.spec.template.spec.volumes[].downwardAPI
- 描述
- DownwardAPI represents downward API about the pod that should populate this volume
- 类型
object
.spec.template.spec.volumes[].downwardAPI.fields
- 描述
- Fields is a list of downward API volume file
- 类型
array
.spec.template.spec.volumes[].downwardAPI.fields[]
- 描述
- DownwardAPIVolumeFile represents information to create the file containing the pod field
- 类型
object- 必填
path
.spec.template.spec.volumes[].downwardAPI.fields[].fieldRef
- 描述
- Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.
- 类型
object- 必填
fieldPath
.spec.template.spec.volumes[].downwardAPI.fields[].resourceFieldRef
- 描述
- Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
- 类型
object- 必填
resource
.spec.template.spec.volumes[].downwardMetrics
- 描述
- DownwardMetrics adds a very small disk to VMIs which contains a limited view of host and guest metrics. The disk content is compatible with vhostmd (https://github.com/vhostmd/vhostmd) and vm-dump-metrics.
- 类型
object
.spec.template.spec.volumes[].emptyDisk
- 描述
- EmptyDisk represents a temporary disk which shares the vmis lifecycle. More info: https://kubevirt.gitbooks.io/user-guide/disks-and-volumes.html
- 类型
object- 必填
capacity
.spec.template.spec.volumes[].ephemeral
- 描述
- Ephemeral is a special volume source that "wraps" specified source and provides copy-on-write image on top of it.
- 类型
object
.spec.template.spec.volumes[].ephemeral.persistentVolumeClaim
- 描述
- PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. Directly attached to the vmi via qemu. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- 类型
object- 必填
claimName
.spec.template.spec.volumes[].hostDisk
- 描述
- HostDisk represents a disk created on the cluster level
- 类型
object- 必填
pathtype
.spec.template.spec.volumes[].memoryDump
- 描述
- MemoryDump is attached to the virt launcher and is populated with a memory dump of the vmi
- 类型
object- 必填
claimName
.spec.template.spec.volumes[].persistentVolumeClaim
- 描述
- PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. Directly attached to the vmi via qemu. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- 类型
object- 必填
claimName
.spec.template.spec.volumes[].secret
- 描述
- SecretVolumeSource represents a reference to a secret data in the same namespace. More info: https://kubernetes.io/docs/concepts/configuration/secret/
- 类型
object
.spec.template.spec.volumes[].serviceAccount
- 描述
- ServiceAccountVolumeSource represents a reference to a service account. There can only be one volume of this type! More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
- 类型
object
.spec.template.spec.volumes[].sysprep
- 描述
- Represents a Sysprep volume source.
- 类型
object
.spec.template.spec.volumes[].sysprep.configMap
- 描述
- ConfigMap references a ConfigMap that contains Sysprep answer file named autounattend.xml that should be attached as disk of CDROM type.
- 类型
object
.spec.template.spec.volumes[].sysprep.secret
- 描述
- Secret references a k8s Secret that contains Sysprep answer file named autounattend.xml that should be attached as disk of CDROM type.
- 类型
object
.status
- 描述
- Status holds the current state of the controller and brief information about its associated VirtualMachineInstance
- 类型
object
.status.changedBlockTracking
- 描述
- ChangedBlockTracking represents the status of the changedBlockTracking
- 类型
object- 必填
state
.status.conditions
- 描述
- Hold the state information of the VirtualMachine and its VirtualMachineInstance
- 类型
array
.status.conditions[]
- 描述
- VirtualMachineCondition represents the state of VirtualMachine
- 类型
object- 必填
statustype
.status.instancetypeRef
- 描述
- InstancetypeRef captures the state of any referenced instance type from the VirtualMachine
- 类型
object
.status.instancetypeRef.controllerRevisionRef
- 描述
- ControllerRef specifies the ControllerRevision storing a copy of the object captured when it is first seen by the VirtualMachine controller
- 类型
object
.status.memoryDumpRequest
- 描述
- MemoryDumpRequest tracks memory dump request phase and info of getting a memory dump to the given pvc
- 类型
object- 必填
claimNamephase
.status.preferenceRef
- 描述
- PreferenceRef captures the state of any referenced preference from the VirtualMachine
- 类型
object
.status.preferenceRef.controllerRevisionRef
- 描述
- ControllerRef specifies the ControllerRevision storing a copy of the object captured when it is first seen by the VirtualMachine controller
- 类型
object
.status.startFailure
- 描述
- StartFailure tracks consecutive VMI startup failures for the purposes of crash loop backoffs
- 类型
object
.status.stateChangeRequests
- 描述
- StateChangeRequests indicates a list of actions that should be taken on a VMI e.g. stop a specific VMI then start a new one.
- 类型
array
.status.stateChangeRequests[]
- 类型
object- 必填
action
.status.stateChangeRequests[].data
- 描述
- Provides additional data in order to perform the Action
- 类型
object
.status.volumeRequests
- 描述
- VolumeRequests indicates a list of volumes add or remove from the VMI template and hotplug on an active running VMI.
- 类型
array
.status.volumeRequests[]
- 类型
object
.status.volumeRequests[].addVolumeOptions
- 描述
- AddVolumeOptions when set indicates a volume should be added. The details within this field specify how to add the volume
- 类型
object- 必填
disknamevolumeSource
.status.volumeRequests[].addVolumeOptions.disk
- 描述
- Disk represents the hotplug disk that will be plugged into the running VMI
- 类型
object- 必填
name
.status.volumeRequests[].addVolumeOptions.disk.blockSize
- 描述
- If specified, the virtual disk will be presented with the given block sizes.
- 类型
object
.status.volumeRequests[].addVolumeOptions.disk.blockSize.custom
- 描述
- CustomBlockSize represents the desired logical and physical block size for a VM disk.
- 类型
object
.status.volumeRequests[].addVolumeOptions.disk.blockSize.matchVolume
- 描述
- Represents if a feature is enabled or disabled.
- 类型
object
.status.volumeRequests[].addVolumeOptions.disk.cdrom
- 描述
- Attach a volume as a cdrom to the vmi.
- 类型
object
.status.volumeRequests[].addVolumeOptions.disk.disk
- 描述
- Attach a volume as a disk to the vmi.
- 类型
object
.status.volumeRequests[].addVolumeOptions.disk.lun
- 描述
- Attach a volume as a LUN to the vmi.
- 类型
object
.status.volumeRequests[].addVolumeOptions.dryRun
- 描述
- When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
- 类型
array
.status.volumeRequests[].addVolumeOptions.dryRun[]
- 类型
string
.status.volumeRequests[].addVolumeOptions.volumeSource
- 描述
- VolumeSource represents the source of the volume to map to the disk.
- 类型
object
.status.volumeRequests[].addVolumeOptions.volumeSource.dataVolume
- 描述
- DataVolume represents the dynamic creation a PVC for this volume as well as the process of populating that PVC with a disk image.
- 类型
object- 必填
name
.status.volumeRequests[].addVolumeOptions.volumeSource.persistentVolumeClaim
- 描述
- PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. Directly attached to the vmi via qemu. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
- 类型
object- 必填
claimName
.status.volumeRequests[].removeVolumeOptions
- 描述
- RemoveVolumeOptions when set indicates a volume should be removed. The details within this field specify how to add the volume
- 类型
object- 必填
name
.status.volumeRequests[].removeVolumeOptions.dryRun
- 描述
- When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
- 类型
array
.status.volumeRequests[].removeVolumeOptions.dryRun[]
- 类型
string
.status.volumeSnapshotStatuses
- 描述
- VolumeSnapshotStatuses indicates a list of statuses whether snapshotting is supported by each volume.
- 类型
array
.status.volumeSnapshotStatuses[]
- 类型
object- 必填
enabledname
.status.volumeUpdateState
- 描述
- VolumeUpdateState contains the information about the volumes set updates related to the volumeUpdateStrategy
- 类型
object
.status.volumeUpdateState.volumeMigrationState
- 描述
- VolumeMigrationState tracks the information related to the volume migration
- 类型
object
.status.volumeUpdateState.volumeMigrationState.migratedVolumes
- 描述
- MigratedVolumes lists the source and destination volumes during the volume migration
- 类型
array
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[]
- 描述
- StorageMigratedVolumeInfo tracks the information about the source and destination volumes during the volume migration
- 类型
object- 必填
volumeName
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].destinationPVCInfo
- 描述
- DestinationPVCInfo contains the information about the destination PVC
- 类型
object
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].destinationPVCInfo.accessModes
- 描述
- AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- 类型
array
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].destinationPVCInfo.accessModes[]
- 类型
string
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].destinationPVCInfo.capacity
- 描述
- Capacity represents the capacity set on the corresponding PVC status
- 类型
object
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].destinationPVCInfo.requests
- 描述
- Requests represents the resources requested by the corresponding PVC spec
- 类型
object
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].sourcePVCInfo
- 描述
- SourcePVCInfo contains the information about the source PVC
- 类型
object
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].sourcePVCInfo.accessModes
- 描述
- AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- 类型
array
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].sourcePVCInfo.accessModes[]
- 类型
string
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].sourcePVCInfo.capacity
- 描述
- Capacity represents the capacity set on the corresponding PVC status
- 类型
object
.status.volumeUpdateState.volumeMigrationState.migratedVolumes[].sourcePVCInfo.requests
- 描述
- Requests represents the resources requested by the corresponding PVC spec
- 类型
object
API 端点
可用的 API 端点如下:
/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachinesDELETE: delete collection of VirtualMachineGET: list objects of kind VirtualMachinePOST: create a new VirtualMachine
/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name}DELETE: delete the specified VirtualMachineGET: read the specified VirtualMachinePATCH: partially update the specified VirtualMachinePUT: replace the specified VirtualMachine
/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name}/statusGET: read status of the specified VirtualMachinePATCH: partially update status of the specified VirtualMachinePUT: replace status of the specified VirtualMachine
/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines
- HTTP 方法
DELETE- 描述
- delete collection of VirtualMachine
- HTTP 响应
- HTTP 方法
GET- 描述
- list objects of kind VirtualMachine
- HTTP 响应
- HTTP 方法
POST- 描述
- create a new VirtualMachine
- 查询参数
- 请求体参数
- HTTP 响应
/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name}
- HTTP 方法
DELETE- 描述
- delete the specified VirtualMachine
- 查询参数
- HTTP 响应
- HTTP 方法
GET- 描述
- read the specified VirtualMachine
- HTTP 响应
- HTTP 方法
PATCH- 描述
- partially update the specified VirtualMachine
- 查询参数
- HTTP 响应
- HTTP 方法
PUT- 描述
- replace the specified VirtualMachine
- 查询参数
- 请求体参数
- HTTP 响应
/apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name}/status
- HTTP 方法
GET- 描述
- read status of the specified VirtualMachine
- HTTP 响应
- HTTP 方法
PATCH- 描述
- partially update status of the specified VirtualMachine
- 查询参数
- HTTP 响应
- HTTP 方法
PUT- 描述
- replace status of the specified VirtualMachine
- 查询参数
- 请求体参数
- HTTP 响应