HyperConverged [hyperconvergeds.hco.kubevirt.io/v1beta1]
- Description
- HyperConverged is the Schema for the hyperconvergeds API
- Type
object
Specification
.spec
- Description
- HyperConvergedSpec defines the desired state of HyperConverged
- Type
object
.spec.CommonInstancetypesDeployment
- Description
- CommonInstancetypesDeployment holds the configuration of common-instancetypes deployment within KubeVirt.
- Type
object
.spec.applicationAwareConfig
- Description
- ApplicationAwareConfig set the AAQ configurations
- Type
object
.spec.applicationAwareConfig.namespaceSelector
- Description
- NamespaceSelector determines in which namespaces scheduling gate will be added to pods..
- Type
object
.spec.applicationAwareConfig.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.applicationAwareConfig.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.applicationAwareConfig.namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.applicationAwareConfig.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.applicationAwareConfig.namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.certConfig
- Description
- certConfig holds the rotation policy for internal, self-signed certificates
- Type
object
.spec.certConfig.ca
- Description
- CA configuration - CA certs are kept in the CA bundle as long as they are valid
- Type
object
.spec.certConfig.server
- Description
- Server configuration - Certs are rotated and discarded
- Type
object
.spec.dataImportCronTemplates
- Description
- DataImportCronTemplates holds list of data import cron templates (golden images)
- Type
array
.spec.dataImportCronTemplates[]
- Description
- DataImportCronTemplate defines the template type for DataImportCrons. It requires metadata.name to be specified while leaving namespace as optional.
- Type
object
.spec.dataImportCronTemplates[].spec
- Description
- DataImportCronSpec defines specification for DataImportCron
- Type
object- Required
managedDataSourcescheduletemplate
.spec.dataImportCronTemplates[].spec.template
- Description
- Template specifies template for the DVs to be created
- Type
object- Required
spec
.spec.dataImportCronTemplates[].spec.template.spec
- Description
- DataVolumeSpec defines the DataVolume type specification
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.checkpoints
- Description
- Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.checkpoints[]
- Description
- DataVolumeCheckpoint defines a stage in a warm migration.
- Type
object- Required
currentprevious
.spec.dataImportCronTemplates[].spec.template.spec.pvc
- Description
- PVC is the PVC specification
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.pvc.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.pvc.accessModes[]
- Type
string
.spec.dataImportCronTemplates[].spec.template.spec.pvc.dataSource
- Description
- 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.
- Type
object- Required
kindname
.spec.dataImportCronTemplates[].spec.template.spec.pvc.dataSourceRef
- Description
- 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.
- Type
object- Required
kindname
.spec.dataImportCronTemplates[].spec.template.spec.pvc.resources
- Description
- 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
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.pvc.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.pvc.resources.requests
- Description
- 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/
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.pvc.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions[].values[]
- Type
string
.spec.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchLabels
- Description
- 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.
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.source
- Description
- Source is the src of the data for the requested DataVolume
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.source.blank
- Description
- DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.source.gcs
- Description
- DataVolumeSourceGCS provides the parameters to create a Data Volume from an GCS source
- Type
object- Required
url
.spec.dataImportCronTemplates[].spec.template.spec.source.http
- Description
- 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
- Type
object- Required
url
.spec.dataImportCronTemplates[].spec.template.spec.source.http.extraHeaders
- Description
- ExtraHeaders is a list of strings containing extra headers to include with HTTP transfer requests
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.source.http.extraHeaders[]
- Type
string
.spec.dataImportCronTemplates[].spec.template.spec.source.http.secretExtraHeaders
- Description
- SecretExtraHeaders is a list of Secret references, each containing an extra HTTP header that may include sensitive information
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.source.http.secretExtraHeaders[]
- Type
string
.spec.dataImportCronTemplates[].spec.template.spec.source.imageio
- Description
- DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source
- Type
object- Required
diskIdurl
.spec.dataImportCronTemplates[].spec.template.spec.source.pvc
- Description
- DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC
- Type
object- Required
namenamespace
.spec.dataImportCronTemplates[].spec.template.spec.source.registry
- Description
- DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.source.registry.platform
- Description
- Platform describes the minimum runtime requirements of the image
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.source.s3
- Description
- DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source
- Type
object- Required
url
.spec.dataImportCronTemplates[].spec.template.spec.source.snapshot
- Description
- DataVolumeSourceSnapshot provides the parameters to create a Data Volume from an existing VolumeSnapshot
- Type
object- Required
namenamespace
.spec.dataImportCronTemplates[].spec.template.spec.source.upload
- Description
- DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.source.vddk
- Description
- DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.sourceRef
- Description
- SourceRef is an indirect reference to the source of data for the requested DataVolume
- Type
object- Required
kindname
.spec.dataImportCronTemplates[].spec.template.spec.storage
- Description
- Storage is the requested storage specification
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.storage.accessModes
- Description
- AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.storage.accessModes[]
- Type
string
.spec.dataImportCronTemplates[].spec.template.spec.storage.dataSource
- Description
- 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.
- Type
object- Required
kindname
.spec.dataImportCronTemplates[].spec.template.spec.storage.dataSourceRef
- Description
- 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.
- Type
object- Required
kindname
.spec.dataImportCronTemplates[].spec.template.spec.storage.resources
- Description
- Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.storage.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.storage.resources.requests
- Description
- 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/
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.storage.selector
- Description
- A label query over volumes to consider for binding.
- Type
object
.spec.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions[].values[]
- Type
string
.spec.dataImportCronTemplates[].spec.template.spec.storage.selector.matchLabels
- Description
- 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.
- Type
object
.spec.dataImportCronTemplates[].spec.template.status
- Description
- DataVolumeStatus contains the current status of the DataVolume
- Type
object
.spec.dataImportCronTemplates[].spec.template.status.conditions
- Type
array
.spec.dataImportCronTemplates[].spec.template.status.conditions[]
- Description
- DataVolumeCondition represents the state of a data volume condition.
- Type
object- Required
statustype
.spec.featureGates
- Description
- featureGates is a map of feature gate flags. Setting a flag to `true` will enable the feature. Setting `false` or removing the feature gate, disables the feature.
- Type
object
.spec.filesystemOverhead
- Description
- FilesystemOverhead describes the space reserved for overhead when using Filesystem volumes. A value is between 0 and 1, if not defined it is 0.055 (5.5 percent overhead)
- Type
object
.spec.filesystemOverhead.storageClass
- Description
- StorageClass specifies how much space of a Filesystem volume should be reserved for safety. The keys are the storageClass and the values are the overhead. This value overrides the global value
- Type
object
.spec.higherWorkloadDensity
- Description
- HigherWorkloadDensity holds configuration aimed to increase virtual machine density
- Type
object
.spec.infra
- Description
- infra HyperConvergedConfig influences the pod configuration (currently only placement) for all the infra components needed on the virtualization enabled cluster but not necessarily directly on each node running VMs/VMIs.
- Type
object
.spec.infra.nodePlacement
- Description
- NodePlacement describes node scheduling configuration.
- Type
object
.spec.infra.nodePlacement.affinity
- Description
- affinity enables pod affinity/anti-affinity placement expanding the types of constraints that can be expressed with nodeSelector. affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
- Type
object
.spec.infra.nodePlacement.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
object
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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).
- Type
object- Required
preferenceweight
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Description
- A node selector term, associated with the corresponding weight.
- Type
object
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
object- Required
nodeSelectorTerms
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity
- Description
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- 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".
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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
- Type
object- Required
topologyKey
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- 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".
- Type
array
.spec.infra.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity
- Description
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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 subtracting "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- 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".
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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
- Type
object- Required
topologyKey
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- 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".
- Type
array
.spec.infra.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.infra.nodePlacement.nodeSelector
- Description
- nodeSelector is the node selector applied to the relevant kind of pods It specifies a map of key-value pairs: for the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
- Type
object
.spec.infra.nodePlacement.tolerations
- Description
- tolerations is a list of tolerations applied to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info. These are additional tolerations other than default ones.
- Type
array
.spec.infra.nodePlacement.tolerations[]
- Description
- The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
- Type
object
.spec.instancetypeConfig
- Description
- InstancetypeConfig holds the configuration of instance type related functionality within KubeVirt.
- Type
object
.spec.ksmConfiguration
- Description
- KSMConfiguration holds the information regarding the enabling the KSM in the nodes (if available).
- Type
object
.spec.ksmConfiguration.nodeLabelSelector
- Description
- NodeLabelSelector is a selector that filters in which nodes the KSM will be enabled. Empty NodeLabelSelector will enable ksm for every node.
- Type
object
.spec.ksmConfiguration.nodeLabelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.ksmConfiguration.nodeLabelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.ksmConfiguration.nodeLabelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.ksmConfiguration.nodeLabelSelector.matchExpressions[].values[]
- Type
string
.spec.ksmConfiguration.nodeLabelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.kubeMacPoolConfiguration
- Description
- KubeMacPoolConfiguration holds kubemacpool MAC address range configuration.
- Type
object
.spec.liveMigrationConfig
- Description
- Live migration limits and timeouts are applied so that migration processes do not overwhelm the cluster.
- Type
object
.spec.liveUpdateConfiguration
- Description
- LiveUpdateConfiguration holds the cluster configuration for live update of virtual machines - max cpu sockets, max guest memory and max hotplug ratio. This setting can affect VM CPU and memory settings.
- Type
object
.spec.logVerbosityConfig
- Description
- LogVerbosityConfig configures the verbosity level of Kubevirt's different components. The higher the value - the higher the log verbosity.
- Type
object
.spec.logVerbosityConfig.kubevirt
- Description
- Kubevirt is a struct that allows specifying the log verbosity level that controls the amount of information logged for each Kubevirt component.
- Type
object
.spec.logVerbosityConfig.kubevirt.nodeVerbosity
- Description
- NodeVerbosity represents a map of nodes with a specific verbosity level
- Type
object
.spec.mediatedDevicesConfiguration
- Description
- MediatedDevicesConfiguration holds information about MDEV types to be defined on nodes, if available
- Type
object
.spec.mediatedDevicesConfiguration.mediatedDeviceTypes
- Type
array
.spec.mediatedDevicesConfiguration.mediatedDeviceTypes[]
- Type
string
.spec.mediatedDevicesConfiguration.mediatedDevicesTypes
- Description
- Deprecated: please use mediatedDeviceTypes instead.
- Type
array
.spec.mediatedDevicesConfiguration.mediatedDevicesTypes[]
- Type
string
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes
- Type
array
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes[]
- Description
- NodeMediatedDeviceTypesConfig holds information about MDEV types to be defined in a specific node that matches the NodeSelector field.
- Type
object- Required
nodeSelector
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes[].mediatedDeviceTypes
- Type
array
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes[].mediatedDeviceTypes[]
- Type
string
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes[].mediatedDevicesTypes
- Description
- Deprecated: please use mediatedDeviceTypes instead.
- Type
array
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes[].mediatedDevicesTypes[]
- Type
string
.spec.mediatedDevicesConfiguration.nodeMediatedDeviceTypes[].nodeSelector
- Description
- 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/
- Type
object
.spec.networkBinding
- Description
- NetworkBinding defines the network binding plugins. Those bindings can be used when defining virtual machine interfaces.
- Type
object
.spec.obsoleteCPUs
- Description
- ObsoleteCPUs allows avoiding scheduling of VMs for obsolete CPU models
- Type
object
.spec.obsoleteCPUs.cpuModels
- Description
- CPUModels is a list of obsolete CPU models. When the node-labeller obtains the list of obsolete CPU models, it eliminates those CPU models and creates labels for valid CPU models. The default values for this field is nil, however, HCO uses opinionated values, and adding values to this list will add them to the opinionated values.
- Type
array
.spec.obsoleteCPUs.cpuModels[]
- Type
string
.spec.permittedHostDevices
- Description
- PermittedHostDevices holds information about devices allowed for passthrough
- Type
object
.spec.permittedHostDevices.mediatedDevices
- Type
array
.spec.permittedHostDevices.mediatedDevices[]
- Description
- MediatedHostDevice represents a host mediated device allowed for passthrough
- Type
object- Required
mdevNameSelectorresourceName
.spec.permittedHostDevices.pciHostDevices
- Type
array
.spec.permittedHostDevices.pciHostDevices[]
- Description
- PciHostDevice represents a host PCI device allowed for passthrough
- Type
object- Required
pciDeviceSelectorresourceName
.spec.permittedHostDevices.usbHostDevices
- Type
array
.spec.permittedHostDevices.usbHostDevices[]
- Description
- USBHostDevice represents a host USB device allowed for passthrough
- Type
object- Required
resourceName
.spec.permittedHostDevices.usbHostDevices[].selectors
- Type
array
.spec.permittedHostDevices.usbHostDevices[].selectors[]
- Description
- USBSelector represents a selector for a USB device allowed for passthrough
- Type
object- Required
productvendor
.spec.resourceRequirements
- Description
- ResourceRequirements describes the resource requirements for the operand workloads.
- Type
object
.spec.resourceRequirements.autoCPULimitNamespaceLabelSelector
- Description
- When set, AutoCPULimitNamespaceLabelSelector will set a CPU limit on virt-launcher for VMIs running inside namespaces that match the label selector. The CPU limit will equal the number of requested vCPUs. This setting does not apply to VMIs with dedicated CPUs.
- Type
object
.spec.resourceRequirements.autoCPULimitNamespaceLabelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.resourceRequirements.autoCPULimitNamespaceLabelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.resourceRequirements.autoCPULimitNamespaceLabelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.resourceRequirements.autoCPULimitNamespaceLabelSelector.matchExpressions[].values[]
- Type
string
.spec.resourceRequirements.autoCPULimitNamespaceLabelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.resourceRequirements.storageWorkloads
- Description
- StorageWorkloads defines the resources requirements for storage workloads. It will propagate to the CDI custom resource
- Type
object
.spec.resourceRequirements.storageWorkloads.claims
- Description
- Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This field depends on the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.
- Type
array
.spec.resourceRequirements.storageWorkloads.claims[]
- Description
- ResourceClaim references one entry in PodSpec.ResourceClaims.
- Type
object- Required
name
.spec.resourceRequirements.storageWorkloads.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.spec.resourceRequirements.storageWorkloads.requests
- Description
- 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/
- Type
object
.spec.storageImport
- Description
- StorageImport contains configuration for importing containerized data
- Type
object
.spec.storageImport.insecureRegistries
- Description
- InsecureRegistries is a list of image registries URLs that are not secured. Setting an insecure registry URL in this list allows pulling images from this registry.
- Type
array
.spec.storageImport.insecureRegistries[]
- Type
string
.spec.tlsSecurityProfile
- Description
- TLSSecurityProfile specifies the settings for TLS connections to be propagated to all kubevirt-hyperconverged components. If unset, the hyperconverged cluster operator will consume the value set on the APIServer CR on OCP/OKD or Intermediate if on vanilla k8s. Note that only Old, Intermediate and Custom profiles are currently supported, and the maximum available MinTLSVersions is VersionTLS12.
- Type
object
.spec.tlsSecurityProfile.custom
- Description
- custom is a user-defined TLS security profile. Be extremely careful using a custom profile as invalid configurations can be catastrophic. An example custom profile looks like this: ciphers: - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 minTLSVersion: VersionTLS11
- Type
object
.spec.tlsSecurityProfile.custom.ciphers
- Description
- ciphers is used to specify the cipher algorithms that are negotiated during the TLS handshake. Operators may remove entries their operands do not support. For example, to use DES-CBC3-SHA (yaml): ciphers: - DES-CBC3-SHA
- Type
array
.spec.tlsSecurityProfile.custom.ciphers[]
- Type
string
.spec.tlsSecurityProfile.intermediate
- Description
- intermediate is a TLS security profile based on: https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 and looks like this (yaml): ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 minTLSVersion: VersionTLS12
- Type
object
.spec.tlsSecurityProfile.modern
- Description
- modern is a TLS security profile based on: https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility and looks like this (yaml): ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 minTLSVersion: VersionTLS13
- Type
object
.spec.tlsSecurityProfile.old
- Description
- old is a TLS security profile based on: https://wiki.mozilla.org/Security/Server_Side_TLS#Old_backward_compatibility and looks like this (yaml): ciphers: - TLS_AES_128_GCM_SHA256 - TLS_AES_256_GCM_SHA384 - TLS_CHACHA20_POLY1305_SHA256 - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-CHACHA20-POLY1305 - DHE-RSA-AES128-GCM-SHA256 - DHE-RSA-AES256-GCM-SHA384 - DHE-RSA-CHACHA20-POLY1305 - ECDHE-ECDSA-AES128-SHA256 - ECDHE-RSA-AES128-SHA256 - ECDHE-ECDSA-AES128-SHA - ECDHE-RSA-AES128-SHA - ECDHE-ECDSA-AES256-SHA384 - ECDHE-RSA-AES256-SHA384 - ECDHE-ECDSA-AES256-SHA - ECDHE-RSA-AES256-SHA - DHE-RSA-AES128-SHA256 - DHE-RSA-AES256-SHA256 - AES128-GCM-SHA256 - AES256-GCM-SHA384 - AES128-SHA256 - AES256-SHA256 - AES128-SHA - AES256-SHA - DES-CBC3-SHA minTLSVersion: VersionTLS10
- Type
object
.spec.virtualMachineOptions
- Description
- VirtualMachineOptions holds the cluster level information regarding the virtual machine.
- Type
object
.spec.workloadUpdateStrategy
- Description
- WorkloadUpdateStrategy defines at the cluster level how to handle automated workload updates
- Type
object- Required
workloadUpdateMethods
.spec.workloadUpdateStrategy.workloadUpdateMethods
- Description
- WorkloadUpdateMethods defines the methods that can be used to disrupt workloads during automated workload updates. When multiple methods are present, the least disruptive method takes precedence over more disruptive methods. For example if both LiveMigrate and Evict methods are listed, only VMs which are not live migratable will be restarted/shutdown. An empty list defaults to no automated workload updating.
- Type
array
.spec.workloadUpdateStrategy.workloadUpdateMethods[]
- Type
string
.spec.workloads
- Description
- workloads HyperConvergedConfig influences the pod configuration (currently only placement) of components which need to be running on a node where virtualization workloads should be able to run. Changes to Workloads HyperConvergedConfig can be applied only without existing workload.
- Type
object
.spec.workloads.nodePlacement
- Description
- NodePlacement describes node scheduling configuration.
- Type
object
.spec.workloads.nodePlacement.affinity
- Description
- affinity enables pod affinity/anti-affinity placement expanding the types of constraints that can be expressed with nodeSelector. affinity is going to be applied to the relevant kind of pods in parallel with nodeSelector See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
- Type
object
.spec.workloads.nodePlacement.affinity.nodeAffinity
- Description
- Describes node affinity scheduling rules for the pod.
- Type
object
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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).
- Type
object- Required
preferenceweight
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference
- Description
- A node selector term, associated with the corresponding weight.
- Type
object
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution[].preference.matchFields[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
object- Required
nodeSelectorTerms
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Description
- Required. A list of node selector terms. The terms are ORed.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[]
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions
- Description
- A list of node selector requirements by node's labels.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields
- Description
- A list of node selector requirements by node's fields.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[]
- Description
- A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchFields[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity
- Description
- Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- 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".
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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
- Type
object- Required
topologyKey
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- 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".
- Type
array
.spec.workloads.nodePlacement.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity
- Description
- Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Description
- 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 subtracting "weight" from the sum if the node has pods which matches the corresponding podAffinityTerm; the node(s) with the highest sum are the most preferred.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[]
- Description
- The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)
- Type
object- Required
podAffinityTermweight
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm
- Description
- Required. A pod affinity term, associated with the corresponding weight.
- Type
object- Required
topologyKey
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.matchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.mismatchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces
- Description
- 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".
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution[].podAffinityTerm.namespaces[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[]
- Description
- 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
- Type
object- Required
topologyKey
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector
- Description
- A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].labelSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].matchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].mismatchLabelKeys[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values
- Description
- 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.
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchExpressions[].values[]
- Type
string
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaceSelector.matchLabels
- Description
- 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.
- Type
object
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces
- Description
- 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".
- Type
array
.spec.workloads.nodePlacement.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution[].namespaces[]
- Type
string
.spec.workloads.nodePlacement.nodeSelector
- Description
- nodeSelector is the node selector applied to the relevant kind of pods It specifies a map of key-value pairs: for the pod to be eligible to run on a node, the node must have each of the indicated key-value pairs as labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
- Type
object
.spec.workloads.nodePlacement.tolerations
- Description
- tolerations is a list of tolerations applied to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ for more info. These are additional tolerations other than default ones.
- Type
array
.spec.workloads.nodePlacement.tolerations[]
- Description
- The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
- Type
object
.status
- Description
- HyperConvergedStatus defines the observed state of HyperConverged
- Type
object
.status.conditions
- Description
- Conditions describes the state of the HyperConverged resource.
- Type
array
.status.conditions[]
- Description
- Condition contains details for one aspect of the current state of this API Resource.
- Type
object- Required
lastTransitionTimemessagereasonstatustype
.status.dataImportCronTemplates
- Description
- DataImportCronTemplates is a list of the actual DataImportCronTemplates as HCO update in the SSP CR. The list contains both the common and the custom templates, including any modification done by HCO.
- Type
array
.status.dataImportCronTemplates[]
- Description
- DataImportCronTemplateStatus is a copy of a dataImportCronTemplate as defined in the spec, or in the HCO image.
- Type
object
.status.dataImportCronTemplates[].spec
- Description
- DataImportCronSpec defines specification for DataImportCron
- Type
object- Required
managedDataSourcescheduletemplate
.status.dataImportCronTemplates[].spec.template
- Description
- Template specifies template for the DVs to be created
- Type
object- Required
spec
.status.dataImportCronTemplates[].spec.template.spec
- Description
- DataVolumeSpec defines the DataVolume type specification
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.checkpoints
- Description
- Checkpoints is a list of DataVolumeCheckpoints, representing stages in a multistage import.
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.checkpoints[]
- Description
- DataVolumeCheckpoint defines a stage in a warm migration.
- Type
object- Required
currentprevious
.status.dataImportCronTemplates[].spec.template.spec.pvc
- Description
- PVC is the PVC specification
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.pvc.accessModes
- Description
- accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.pvc.accessModes[]
- Type
string
.status.dataImportCronTemplates[].spec.template.spec.pvc.dataSource
- Description
- 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.
- Type
object- Required
kindname
.status.dataImportCronTemplates[].spec.template.spec.pvc.dataSourceRef
- Description
- 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.
- Type
object- Required
kindname
.status.dataImportCronTemplates[].spec.template.spec.pvc.resources
- Description
- 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
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.pvc.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.pvc.resources.requests
- Description
- 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/
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.pvc.selector
- Description
- selector is a label query over volumes to consider for binding.
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.status.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions[].values
- Description
- 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.
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchExpressions[].values[]
- Type
string
.status.dataImportCronTemplates[].spec.template.spec.pvc.selector.matchLabels
- Description
- 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.
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.source
- Description
- Source is the src of the data for the requested DataVolume
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.source.blank
- Description
- DataVolumeBlankImage provides the parameters to create a new raw blank image for the PVC
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.source.gcs
- Description
- DataVolumeSourceGCS provides the parameters to create a Data Volume from an GCS source
- Type
object- Required
url
.status.dataImportCronTemplates[].spec.template.spec.source.http
- Description
- 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
- Type
object- Required
url
.status.dataImportCronTemplates[].spec.template.spec.source.http.extraHeaders
- Description
- ExtraHeaders is a list of strings containing extra headers to include with HTTP transfer requests
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.source.http.extraHeaders[]
- Type
string
.status.dataImportCronTemplates[].spec.template.spec.source.http.secretExtraHeaders
- Description
- SecretExtraHeaders is a list of Secret references, each containing an extra HTTP header that may include sensitive information
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.source.http.secretExtraHeaders[]
- Type
string
.status.dataImportCronTemplates[].spec.template.spec.source.imageio
- Description
- DataVolumeSourceImageIO provides the parameters to create a Data Volume from an imageio source
- Type
object- Required
diskIdurl
.status.dataImportCronTemplates[].spec.template.spec.source.pvc
- Description
- DataVolumeSourcePVC provides the parameters to create a Data Volume from an existing PVC
- Type
object- Required
namenamespace
.status.dataImportCronTemplates[].spec.template.spec.source.registry
- Description
- DataVolumeSourceRegistry provides the parameters to create a Data Volume from an registry source
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.source.registry.platform
- Description
- Platform describes the minimum runtime requirements of the image
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.source.s3
- Description
- DataVolumeSourceS3 provides the parameters to create a Data Volume from an S3 source
- Type
object- Required
url
.status.dataImportCronTemplates[].spec.template.spec.source.snapshot
- Description
- DataVolumeSourceSnapshot provides the parameters to create a Data Volume from an existing VolumeSnapshot
- Type
object- Required
namenamespace
.status.dataImportCronTemplates[].spec.template.spec.source.upload
- Description
- DataVolumeSourceUpload provides the parameters to create a Data Volume by uploading the source
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.source.vddk
- Description
- DataVolumeSourceVDDK provides the parameters to create a Data Volume from a Vmware source
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.sourceRef
- Description
- SourceRef is an indirect reference to the source of data for the requested DataVolume
- Type
object- Required
kindname
.status.dataImportCronTemplates[].spec.template.spec.storage
- Description
- Storage is the requested storage specification
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.storage.accessModes
- Description
- AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.storage.accessModes[]
- Type
string
.status.dataImportCronTemplates[].spec.template.spec.storage.dataSource
- Description
- 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.
- Type
object- Required
kindname
.status.dataImportCronTemplates[].spec.template.spec.storage.dataSourceRef
- Description
- 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.
- Type
object- Required
kindname
.status.dataImportCronTemplates[].spec.template.spec.storage.resources
- Description
- Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.storage.resources.limits
- Description
- Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.storage.resources.requests
- Description
- 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/
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.storage.selector
- Description
- A label query over volumes to consider for binding.
- Type
object
.status.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions
- Description
- matchExpressions is a list of label selector requirements. The requirements are ANDed.
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions[]
- Description
- A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- Type
object- Required
keyoperator
.status.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions[].values
- Description
- 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.
- Type
array
.status.dataImportCronTemplates[].spec.template.spec.storage.selector.matchExpressions[].values[]
- Type
string
.status.dataImportCronTemplates[].spec.template.spec.storage.selector.matchLabels
- Description
- 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.
- Type
object
.status.dataImportCronTemplates[].spec.template.status
- Description
- DataVolumeStatus contains the current status of the DataVolume
- Type
object
.status.dataImportCronTemplates[].spec.template.status.conditions
- Type
array
.status.dataImportCronTemplates[].spec.template.status.conditions[]
- Description
- DataVolumeCondition represents the state of a data volume condition.
- Type
object- Required
statustype
.status.dataImportCronTemplates[].status
- Description
- DataImportCronStatus is the status field of the DIC template
- Type
object
.status.dataImportCronTemplates[].status.conditions
- Description
- Conditions is a list of conditions that describe the state of the DataImportCronTemplate.
- Type
array
.status.dataImportCronTemplates[].status.conditions[]
- Description
- Condition contains details for one aspect of the current state of this API Resource.
- Type
object- Required
lastTransitionTimemessagereasonstatustype
.status.nodeInfo
- Description
- NodeInfo holds information about the cluster nodes
- Type
object
.status.nodeInfo.controlPlaneArchitectures
- Description
- ControlPlaneArchitectures is a distinct list of the CPU architecture of the control-plane nodes.
- Type
array
.status.nodeInfo.controlPlaneArchitectures[]
- Type
string
.status.nodeInfo.workloadsArchitectures
- Description
- WorkloadsArchitectures is a distinct list of the CPU architectures of the workloads nodes in the cluster.
- Type
array
.status.nodeInfo.workloadsArchitectures[]
- Type
string
.status.relatedObjects
- Description
- RelatedObjects is a list of objects created and maintained by this operator. Object references will be added to this list after they have been created AND found in the cluster.
- Type
array
.status.relatedObjects[]
- Description
- ObjectReference contains enough information to let you inspect or modify the referred object.
- Type
object
.status.versions
- Description
- Versions is a list of HCO component versions, as name/version pairs. The version with a name of "operator" is the HCO version itself, as described here: https://github.com/openshift/cluster-version-operator/blob/master/docs/dev/clusteroperator.md#version
- Type
array
.status.versions[]
- Type
object
API Endpoints
The following API endpoints are available:
/apis/hco.kubevirt.io/v1beta1/namespaces/{namespace}/hyperconvergedsDELETE: delete collection of HyperConvergedGET: list objects of kind HyperConvergedPOST: create a new HyperConverged
/apis/hco.kubevirt.io/v1beta1/namespaces/{namespace}/hyperconvergeds/{name}DELETE: delete the specified HyperConvergedGET: read the specified HyperConvergedPATCH: partially update the specified HyperConvergedPUT: replace the specified HyperConverged
/apis/hco.kubevirt.io/v1beta1/namespaces/{namespace}/hyperconvergeds/{name}/statusGET: read status of the specified HyperConvergedPATCH: partially update status of the specified HyperConvergedPUT: replace status of the specified HyperConverged
/apis/hco.kubevirt.io/v1beta1/namespaces/{namespace}/hyperconvergeds
- HTTP method
DELETE- Description
- delete collection of HyperConverged
- HTTP responses
- HTTP method
GET- Description
- list objects of kind HyperConverged
- HTTP responses
- HTTP method
POST- Description
- create a new HyperConverged
- Query parameters
- Body parameters
- HTTP responses
/apis/hco.kubevirt.io/v1beta1/namespaces/{namespace}/hyperconvergeds/{name}
- HTTP method
DELETE- Description
- delete the specified HyperConverged
- Query parameters
- HTTP responses
- HTTP method
GET- Description
- read the specified HyperConverged
- HTTP responses
- HTTP method
PATCH- Description
- partially update the specified HyperConverged
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace the specified HyperConverged
- Query parameters
- Body parameters
- HTTP responses
/apis/hco.kubevirt.io/v1beta1/namespaces/{namespace}/hyperconvergeds/{name}/status
- HTTP method
GET- Description
- read status of the specified HyperConverged
- HTTP responses
- HTTP method
PATCH- Description
- partially update status of the specified HyperConverged
- Query parameters
- HTTP responses
- HTTP method
PUT- Description
- replace status of the specified HyperConverged
- Query parameters
- Body parameters
- HTTP responses