9 apiVersion: apiextensions.k8s.io/v1
10 kind: CustomResourceDefinition
13 operator.kubevirt.io: ""
14 name: kubevirts.kubevirt.io
28 - additionalPrinterColumns:
29 - jsonPath: .metadata.creationTimestamp
32 - jsonPath: .status.phase
38 description: KubeVirt represents the object deploying all KubeVirt resources
41 description: 'APIVersion defines the versioned schema of this representation
42 of an object. Servers should convert recognized schemas to the latest
43 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
46 description: 'Kind is a string value representing the REST resource this
47 object represents. Servers may infer this from the endpoint the client
48 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
54 certificateRotateStrategy:
59 description: CA configuration CA certs are kept in the CA
60 bundle as long as they are valid
63 description: The requested 'duration' (i.e. lifetime)
67 description: The amount of time before the currently issued
68 certificate's "notAfter" time that we will begin to
69 attempt to renew the certificate.
73 description: Deprecated. Use CA.Duration and CA.RenewBefore
77 description: Deprecated. Use CA.Duration instead
80 description: Deprecated. Use Server.Duration instead
83 description: Server configuration Certs are rotated and discarded
86 description: The requested 'duration' (i.e. lifetime)
90 description: The amount of time before the currently issued
91 certificate's "notAfter" time that we will begin to
92 attempt to renew the certificate.
98 description: holds kubevirt configurations. same as the virt-configMap
101 description: ReloadableComponentConfiguration holds all generic
102 k8s configuration options which can be reloaded by components
103 without requiring a restart.
106 description: RestClient can be used to tune certain aspects
107 of the k8s client in use.
110 description: RateLimiter allows selecting and configuring
111 different rate limiters for the k8s client.
113 tokenBucketRateLimiter:
116 description: Maximum burst for throttle. If it's
117 zero, the component default will be used
120 description: QPS indicates the maximum QPS to
121 the apiserver from this client. If it's zero,
122 the component default will be used
131 controllerConfiguration:
132 description: ReloadableComponentConfiguration holds all generic
133 k8s configuration options which can be reloaded by components
134 without requiring a restart.
137 description: RestClient can be used to tune certain aspects
138 of the k8s client in use.
141 description: RateLimiter allows selecting and configuring
142 different rate limiters for the k8s client.
144 tokenBucketRateLimiter:
147 description: Maximum burst for throttle. If it's
148 zero, the component default will be used
151 description: QPS indicates the maximum QPS to
152 the apiserver from this client. If it's zero,
153 the component default will be used
168 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
169 x-kubernetes-int-or-string: true
172 developerConfiguration:
173 description: DeveloperConfiguration holds developer options
178 description: DiskVerification holds container disks verification
185 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
186 x-kubernetes-int-or-string: true
195 description: LogVerbosity sets log verbosity level of various
199 additionalProperties:
201 description: NodeVerbosity represents a map of nodes with
202 a specific verbosity level
217 minimumClusterTSCFrequency:
218 description: Allow overriding the automatically determined
219 minimum TSC frequency of the cluster and fixate the minimum
223 minimumReservePVCBytes:
227 additionalProperties:
230 pvcTolerateLessSpaceUpToPercent:
233 description: UseEmulation can be set to true to allow fallback
234 to software emulation in case hardware-assisted emulation
242 handlerConfiguration:
243 description: ReloadableComponentConfiguration holds all generic
244 k8s configuration options which can be reloaded by components
245 without requiring a restart.
248 description: RestClient can be used to tune certain aspects
249 of the k8s client in use.
252 description: RateLimiter allows selecting and configuring
253 different rate limiters for the k8s client.
255 tokenBucketRateLimiter:
258 description: Maximum burst for throttle. If it's
259 zero, the component default will be used
262 description: QPS indicates the maximum QPS to
263 the apiserver from this client. If it's zero,
264 the component default will be used
274 description: PullPolicy describes a policy for if/when to pull
279 mediatedDevicesConfiguration:
280 description: MediatedDevicesConfiguration holds inforamtion about
281 MDEV types to be defined, if available
283 mediatedDevicesTypes:
287 x-kubernetes-list-type: atomic
288 nodeMediatedDeviceTypes:
290 description: NodeMediatedDeviceTypesConfig holds inforamtion
291 about MDEV types to be defined in a specifc node that
292 matches the NodeSelector field.
294 mediatedDevicesTypes:
298 x-kubernetes-list-type: atomic
300 additionalProperties:
302 description: 'NodeSelector is a selector which must
303 be true for the vmi to fit on a node. Selector which
304 must match a node''s labels for the vmi to be scheduled
305 on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
308 - mediatedDevicesTypes
312 x-kubernetes-list-type: atomic
314 memBalloonStatsPeriod:
318 description: MigrationConfiguration holds migration options
324 bandwidthPerMigration:
328 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
329 x-kubernetes-int-or-string: true
330 completionTimeoutPerGiB:
339 parallelMigrationsPerCluster:
342 parallelOutboundMigrationsPerNode:
348 unsafeMigrationOverride:
354 description: NetworkConfiguration holds network options
356 defaultNetworkInterface:
358 permitBridgeInterfaceOnPodNetwork:
360 permitSlirpInterface:
364 additionalProperties:
369 permittedHostDevices:
370 description: PermittedHostDevices holds inforamtion about devices
371 allowed for passthrough
375 description: MediatedHostDevice represents a host mediated
376 device allowed for passthrough
378 externalResourceProvider:
389 x-kubernetes-list-type: atomic
392 description: PciHostDevice represents a host PCI device
393 allowed for passthrough
395 externalResourceProvider:
396 description: If true, KubeVirt will leave the allocation
397 and monitoring to an external device plugin
400 description: The vendor_id:product_id tuple of the PCI
404 description: The name of the resource that is representing
405 the device. Exposed by a device plugin and requested
406 by VMs. Typically of the form vendor.com/product_nameThe
407 name of the resource that is representing the device.
408 Exposed by a device plugin and requested by VMs. Typically
409 of the form vendor.com/product_name
416 x-kubernetes-list-type: atomic
433 supportedGuestAgentVersions:
434 description: deprecated
438 virtualMachineInstancesPerNode:
440 webhookConfiguration:
441 description: ReloadableComponentConfiguration holds all generic
442 k8s configuration options which can be reloaded by components
443 without requiring a restart.
446 description: RestClient can be used to tune certain aspects
447 of the k8s client in use.
450 description: RateLimiter allows selecting and configuring
451 different rate limiters for the k8s client.
453 tokenBucketRateLimiter:
456 description: Maximum burst for throttle. If it's
457 zero, the component default will be used
460 description: QPS indicates the maximum QPS to
461 the apiserver from this client. If it's zero,
462 the component default will be used
475 description: Configure the value used for deployment and daemonset
479 additionalProperties:
483 additionalProperties:
487 additionalProperties:
511 x-kubernetes-list-type: atomic
514 description: The ImagePullPolicy to use.
517 description: The image registry to pull the container images from
518 Defaults to the same registry the operator's container image is
522 description: The image tag to use for the continer images installed.
523 Defaults to the same tag as the operator's container image.
526 description: selectors and tolerations that should apply to KubeVirt
527 infrastructure components
530 description: nodePlacement describes scheduling configuration
531 for specific KubeVirt components
534 description: affinity enables pod affinity/anti-affinity placement
535 expanding the types of constraints that can be expressed
536 with nodeSelector. affinity is going to be applied to the
537 relevant kind of pods in parallel with nodeSelector See
538 https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
541 description: Describes node affinity scheduling rules
544 preferredDuringSchedulingIgnoredDuringExecution:
545 description: The scheduler will prefer to schedule
546 pods to nodes that satisfy the affinity expressions
547 specified by this field, but it may choose a node
548 that violates one or more of the expressions. The
549 node that is most preferred is the one with the
550 greatest sum of weights, i.e. for each node that
551 meets all of the scheduling requirements (resource
552 request, requiredDuringScheduling affinity expressions,
553 etc.), compute a sum by iterating through the elements
554 of this field and adding "weight" to the sum if
555 the node matches the corresponding matchExpressions;
556 the node(s) with the highest sum are the most preferred.
558 description: An empty preferred scheduling term
559 matches all objects with implicit weight 0 (i.e.
560 it's a no-op). A null preferred scheduling term
561 matches no objects (i.e. is also a no-op).
564 description: A node selector term, associated
565 with the corresponding weight.
568 description: A list of node selector requirements
571 description: A node selector requirement
572 is a selector that contains values,
573 a key, and an operator that relates
577 description: The label key that the
581 description: Represents a key's relationship
582 to a set of values. Valid operators
583 are In, NotIn, Exists, DoesNotExist.
587 description: An array of string values.
588 If the operator is In or NotIn,
589 the values array must be non-empty.
590 If the operator is Exists or DoesNotExist,
591 the values array must be empty.
592 If the operator is Gt or Lt, the
593 values array must have a single
594 element, which will be interpreted
595 as an integer. This array is replaced
596 during a strategic merge patch.
606 description: A list of node selector requirements
609 description: A node selector requirement
610 is a selector that contains values,
611 a key, and an operator that relates
615 description: The label key that the
619 description: Represents a key's relationship
620 to a set of values. Valid operators
621 are In, NotIn, Exists, DoesNotExist.
625 description: An array of string values.
626 If the operator is In or NotIn,
627 the values array must be non-empty.
628 If the operator is Exists or DoesNotExist,
629 the values array must be empty.
630 If the operator is Gt or Lt, the
631 values array must have a single
632 element, which will be interpreted
633 as an integer. This array is replaced
634 during a strategic merge patch.
645 description: Weight associated with matching
646 the corresponding nodeSelectorTerm, in the
655 requiredDuringSchedulingIgnoredDuringExecution:
656 description: If the affinity requirements specified
657 by this field are not met at scheduling time, the
658 pod will not be scheduled onto the node. If the
659 affinity requirements specified by this field cease
660 to be met at some point during pod execution (e.g.
661 due to an update), the system may or may not try
662 to eventually evict the pod from its node.
665 description: Required. A list of node selector
666 terms. The terms are ORed.
668 description: A null or empty node selector term
669 matches no objects. The requirements of them
670 are ANDed. The TopologySelectorTerm type implements
671 a subset of the NodeSelectorTerm.
674 description: A list of node selector requirements
677 description: A node selector requirement
678 is a selector that contains values,
679 a key, and an operator that relates
683 description: The label key that the
687 description: Represents a key's relationship
688 to a set of values. Valid operators
689 are In, NotIn, Exists, DoesNotExist.
693 description: An array of string values.
694 If the operator is In or NotIn,
695 the values array must be non-empty.
696 If the operator is Exists or DoesNotExist,
697 the values array must be empty.
698 If the operator is Gt or Lt, the
699 values array must have a single
700 element, which will be interpreted
701 as an integer. This array is replaced
702 during a strategic merge patch.
712 description: A list of node selector requirements
715 description: A node selector requirement
716 is a selector that contains values,
717 a key, and an operator that relates
721 description: The label key that the
725 description: Represents a key's relationship
726 to a set of values. Valid operators
727 are In, NotIn, Exists, DoesNotExist.
731 description: An array of string values.
732 If the operator is In or NotIn,
733 the values array must be non-empty.
734 If the operator is Exists or DoesNotExist,
735 the values array must be empty.
736 If the operator is Gt or Lt, the
737 values array must have a single
738 element, which will be interpreted
739 as an integer. This array is replaced
740 during a strategic merge patch.
756 description: Describes pod affinity scheduling rules (e.g.
757 co-locate this pod in the same node, zone, etc. as some
760 preferredDuringSchedulingIgnoredDuringExecution:
761 description: The scheduler will prefer to schedule
762 pods to nodes that satisfy the affinity expressions
763 specified by this field, but it may choose a node
764 that violates one or more of the expressions. The
765 node that is most preferred is the one with the
766 greatest sum of weights, i.e. for each node that
767 meets all of the scheduling requirements (resource
768 request, requiredDuringScheduling affinity expressions,
769 etc.), compute a sum by iterating through the elements
770 of this field and adding "weight" to the sum if
771 the node has pods which matches the corresponding
772 podAffinityTerm; the node(s) with the highest sum
773 are the most preferred.
775 description: The weights of all of the matched WeightedPodAffinityTerm
776 fields are added per-node to find the most preferred
780 description: Required. A pod affinity term,
781 associated with the corresponding weight.
784 description: A label query over a set of
785 resources, in this case pods.
788 description: matchExpressions is a list
789 of label selector requirements. The
790 requirements are ANDed.
792 description: A label selector requirement
793 is a selector that contains values,
794 a key, and an operator that relates
798 description: key is the label
799 key that the selector applies
803 description: operator represents
804 a key's relationship to a set
805 of values. Valid operators are
806 In, NotIn, Exists and DoesNotExist.
809 description: values is an array
810 of string values. If the operator
811 is In or NotIn, the values array
812 must be non-empty. If the operator
813 is Exists or DoesNotExist, the
814 values array must be empty.
815 This array is replaced during
816 a strategic merge patch.
826 additionalProperties:
828 description: matchLabels is a map of
829 {key,value} pairs. A single {key,value}
830 in the matchLabels map is equivalent
831 to an element of matchExpressions,
832 whose key field is "key", the operator
833 is "In", and the values array contains
834 only "value". The requirements are
839 description: A label query over the set
840 of namespaces that the term applies to.
841 The term is applied to the union of the
842 namespaces selected by this field and
843 the ones listed in the namespaces field.
844 null selector and null or empty namespaces
845 list means "this pod's namespace". An
846 empty selector ({}) matches all namespaces.
847 This field is beta-level and is only honored
848 when PodAffinityNamespaceSelector feature
852 description: matchExpressions is a list
853 of label selector requirements. The
854 requirements are ANDed.
856 description: A label selector requirement
857 is a selector that contains values,
858 a key, and an operator that relates
862 description: key is the label
863 key that the selector applies
867 description: operator represents
868 a key's relationship to a set
869 of values. Valid operators are
870 In, NotIn, Exists and DoesNotExist.
873 description: values is an array
874 of string values. If the operator
875 is In or NotIn, the values array
876 must be non-empty. If the operator
877 is Exists or DoesNotExist, the
878 values array must be empty.
879 This array is replaced during
880 a strategic merge patch.
890 additionalProperties:
892 description: matchLabels is a map of
893 {key,value} pairs. A single {key,value}
894 in the matchLabels map is equivalent
895 to an element of matchExpressions,
896 whose key field is "key", the operator
897 is "In", and the values array contains
898 only "value". The requirements are
903 description: namespaces specifies a static
904 list of namespace names that the term
905 applies to. The term is applied to the
906 union of the namespaces listed in this
907 field and the ones selected by namespaceSelector.
908 null or empty namespaces list and null
909 namespaceSelector means "this pod's namespace"
914 description: This pod should be co-located
915 (affinity) or not co-located (anti-affinity)
916 with the pods matching the labelSelector
917 in the specified namespaces, where co-located
918 is defined as running on a node whose
919 value of the label with key topologyKey
920 matches that of any node on which any
921 of the selected pods is running. Empty
922 topologyKey is not allowed.
928 description: weight associated with matching
929 the corresponding podAffinityTerm, in the
938 requiredDuringSchedulingIgnoredDuringExecution:
939 description: If the affinity requirements specified
940 by this field are not met at scheduling time, the
941 pod will not be scheduled onto the node. If the
942 affinity requirements specified by this field cease
943 to be met at some point during pod execution (e.g.
944 due to a pod label update), the system may or may
945 not try to eventually evict the pod from its node.
946 When there are multiple elements, the lists of nodes
947 corresponding to each podAffinityTerm are intersected,
948 i.e. all terms must be satisfied.
950 description: Defines a set of pods (namely those
951 matching the labelSelector relative to the given
952 namespace(s)) that this pod should be co-located
953 (affinity) or not co-located (anti-affinity) with,
954 where co-located is defined as running on a node
955 whose value of the label with key <topologyKey>
956 matches that of any node on which a pod of the
957 set of pods is running
960 description: A label query over a set of resources,
964 description: matchExpressions is a list
965 of label selector requirements. The requirements
968 description: A label selector requirement
969 is a selector that contains values,
970 a key, and an operator that relates
974 description: key is the label key
975 that the selector applies to.
978 description: operator represents a
979 key's relationship to a set of values.
980 Valid operators are In, NotIn, Exists
984 description: values is an array of
985 string values. If the operator is
986 In or NotIn, the values array must
987 be non-empty. If the operator is
988 Exists or DoesNotExist, the values
989 array must be empty. This array
990 is replaced during a strategic merge
1001 additionalProperties:
1003 description: matchLabels is a map of {key,value}
1004 pairs. A single {key,value} in the matchLabels
1005 map is equivalent to an element of matchExpressions,
1006 whose key field is "key", the operator
1007 is "In", and the values array contains
1008 only "value". The requirements are ANDed.
1012 description: A label query over the set of namespaces
1013 that the term applies to. The term is applied
1014 to the union of the namespaces selected by
1015 this field and the ones listed in the namespaces
1016 field. null selector and null or empty namespaces
1017 list means "this pod's namespace". An empty
1018 selector ({}) matches all namespaces. This
1019 field is beta-level and is only honored when
1020 PodAffinityNamespaceSelector feature is enabled.
1023 description: matchExpressions is a list
1024 of label selector requirements. The requirements
1027 description: A label selector requirement
1028 is a selector that contains values,
1029 a key, and an operator that relates
1033 description: key is the label key
1034 that the selector applies to.
1037 description: operator represents a
1038 key's relationship to a set of values.
1039 Valid operators are In, NotIn, Exists
1043 description: values is an array of
1044 string values. If the operator is
1045 In or NotIn, the values array must
1046 be non-empty. If the operator is
1047 Exists or DoesNotExist, the values
1048 array must be empty. This array
1049 is replaced during a strategic merge
1060 additionalProperties:
1062 description: matchLabels is a map of {key,value}
1063 pairs. A single {key,value} in the matchLabels
1064 map is equivalent to an element of matchExpressions,
1065 whose key field is "key", the operator
1066 is "In", and the values array contains
1067 only "value". The requirements are ANDed.
1071 description: namespaces specifies a static list
1072 of namespace names that the term applies to.
1073 The term is applied to the union of the namespaces
1074 listed in this field and the ones selected
1075 by namespaceSelector. null or empty namespaces
1076 list and null namespaceSelector means "this
1082 description: This pod should be co-located (affinity)
1083 or not co-located (anti-affinity) with the
1084 pods matching the labelSelector in the specified
1085 namespaces, where co-located is defined as
1086 running on a node whose value of the label
1087 with key topologyKey matches that of any node
1088 on which any of the selected pods is running.
1089 Empty topologyKey is not allowed.
1097 description: Describes pod anti-affinity scheduling rules
1098 (e.g. avoid putting this pod in the same node, zone,
1099 etc. as some other pod(s)).
1101 preferredDuringSchedulingIgnoredDuringExecution:
1102 description: The scheduler will prefer to schedule
1103 pods to nodes that satisfy the anti-affinity expressions
1104 specified by this field, but it may choose a node
1105 that violates one or more of the expressions. The
1106 node that is most preferred is the one with the
1107 greatest sum of weights, i.e. for each node that
1108 meets all of the scheduling requirements (resource
1109 request, requiredDuringScheduling anti-affinity
1110 expressions, etc.), compute a sum by iterating through
1111 the elements of this field and adding "weight" to
1112 the sum if the node has pods which matches the corresponding
1113 podAffinityTerm; the node(s) with the highest sum
1114 are the most preferred.
1116 description: The weights of all of the matched WeightedPodAffinityTerm
1117 fields are added per-node to find the most preferred
1121 description: Required. A pod affinity term,
1122 associated with the corresponding weight.
1125 description: A label query over a set of
1126 resources, in this case pods.
1129 description: matchExpressions is a list
1130 of label selector requirements. The
1131 requirements are ANDed.
1133 description: A label selector requirement
1134 is a selector that contains values,
1135 a key, and an operator that relates
1139 description: key is the label
1140 key that the selector applies
1144 description: operator represents
1145 a key's relationship to a set
1146 of values. Valid operators are
1147 In, NotIn, Exists and DoesNotExist.
1150 description: values is an array
1151 of string values. If the operator
1152 is In or NotIn, the values array
1153 must be non-empty. If the operator
1154 is Exists or DoesNotExist, the
1155 values array must be empty.
1156 This array is replaced during
1157 a strategic merge patch.
1167 additionalProperties:
1169 description: matchLabels is a map of
1170 {key,value} pairs. A single {key,value}
1171 in the matchLabels map is equivalent
1172 to an element of matchExpressions,
1173 whose key field is "key", the operator
1174 is "In", and the values array contains
1175 only "value". The requirements are
1180 description: A label query over the set
1181 of namespaces that the term applies to.
1182 The term is applied to the union of the
1183 namespaces selected by this field and
1184 the ones listed in the namespaces field.
1185 null selector and null or empty namespaces
1186 list means "this pod's namespace". An
1187 empty selector ({}) matches all namespaces.
1188 This field is beta-level and is only honored
1189 when PodAffinityNamespaceSelector feature
1193 description: matchExpressions is a list
1194 of label selector requirements. The
1195 requirements are ANDed.
1197 description: A label selector requirement
1198 is a selector that contains values,
1199 a key, and an operator that relates
1203 description: key is the label
1204 key that the selector applies
1208 description: operator represents
1209 a key's relationship to a set
1210 of values. Valid operators are
1211 In, NotIn, Exists and DoesNotExist.
1214 description: values is an array
1215 of string values. If the operator
1216 is In or NotIn, the values array
1217 must be non-empty. If the operator
1218 is Exists or DoesNotExist, the
1219 values array must be empty.
1220 This array is replaced during
1221 a strategic merge patch.
1231 additionalProperties:
1233 description: matchLabels is a map of
1234 {key,value} pairs. A single {key,value}
1235 in the matchLabels map is equivalent
1236 to an element of matchExpressions,
1237 whose key field is "key", the operator
1238 is "In", and the values array contains
1239 only "value". The requirements are
1244 description: namespaces specifies a static
1245 list of namespace names that the term
1246 applies to. The term is applied to the
1247 union of the namespaces listed in this
1248 field and the ones selected by namespaceSelector.
1249 null or empty namespaces list and null
1250 namespaceSelector means "this pod's namespace"
1255 description: This pod should be co-located
1256 (affinity) or not co-located (anti-affinity)
1257 with the pods matching the labelSelector
1258 in the specified namespaces, where co-located
1259 is defined as running on a node whose
1260 value of the label with key topologyKey
1261 matches that of any node on which any
1262 of the selected pods is running. Empty
1263 topologyKey is not allowed.
1269 description: weight associated with matching
1270 the corresponding podAffinityTerm, in the
1279 requiredDuringSchedulingIgnoredDuringExecution:
1280 description: If the anti-affinity requirements specified
1281 by this field are not met at scheduling time, the
1282 pod will not be scheduled onto the node. If the
1283 anti-affinity requirements specified by this field
1284 cease to be met at some point during pod execution
1285 (e.g. due to a pod label update), the system may
1286 or may not try to eventually evict the pod from
1287 its node. When there are multiple elements, the
1288 lists of nodes corresponding to each podAffinityTerm
1289 are intersected, i.e. all terms must be satisfied.
1291 description: Defines a set of pods (namely those
1292 matching the labelSelector relative to the given
1293 namespace(s)) that this pod should be co-located
1294 (affinity) or not co-located (anti-affinity) with,
1295 where co-located is defined as running on a node
1296 whose value of the label with key <topologyKey>
1297 matches that of any node on which a pod of the
1298 set of pods is running
1301 description: A label query over a set of resources,
1305 description: matchExpressions is a list
1306 of label selector requirements. The requirements
1309 description: A label selector requirement
1310 is a selector that contains values,
1311 a key, and an operator that relates
1315 description: key is the label key
1316 that the selector applies to.
1319 description: operator represents a
1320 key's relationship to a set of values.
1321 Valid operators are In, NotIn, Exists
1325 description: values is an array of
1326 string values. If the operator is
1327 In or NotIn, the values array must
1328 be non-empty. If the operator is
1329 Exists or DoesNotExist, the values
1330 array must be empty. This array
1331 is replaced during a strategic merge
1342 additionalProperties:
1344 description: matchLabels is a map of {key,value}
1345 pairs. A single {key,value} in the matchLabels
1346 map is equivalent to an element of matchExpressions,
1347 whose key field is "key", the operator
1348 is "In", and the values array contains
1349 only "value". The requirements are ANDed.
1353 description: A label query over the set of namespaces
1354 that the term applies to. The term is applied
1355 to the union of the namespaces selected by
1356 this field and the ones listed in the namespaces
1357 field. null selector and null or empty namespaces
1358 list means "this pod's namespace". An empty
1359 selector ({}) matches all namespaces. This
1360 field is beta-level and is only honored when
1361 PodAffinityNamespaceSelector feature is enabled.
1364 description: matchExpressions is a list
1365 of label selector requirements. The requirements
1368 description: A label selector requirement
1369 is a selector that contains values,
1370 a key, and an operator that relates
1374 description: key is the label key
1375 that the selector applies to.
1378 description: operator represents a
1379 key's relationship to a set of values.
1380 Valid operators are In, NotIn, Exists
1384 description: values is an array of
1385 string values. If the operator is
1386 In or NotIn, the values array must
1387 be non-empty. If the operator is
1388 Exists or DoesNotExist, the values
1389 array must be empty. This array
1390 is replaced during a strategic merge
1401 additionalProperties:
1403 description: matchLabels is a map of {key,value}
1404 pairs. A single {key,value} in the matchLabels
1405 map is equivalent to an element of matchExpressions,
1406 whose key field is "key", the operator
1407 is "In", and the values array contains
1408 only "value". The requirements are ANDed.
1412 description: namespaces specifies a static list
1413 of namespace names that the term applies to.
1414 The term is applied to the union of the namespaces
1415 listed in this field and the ones selected
1416 by namespaceSelector. null or empty namespaces
1417 list and null namespaceSelector means "this
1423 description: This pod should be co-located (affinity)
1424 or not co-located (anti-affinity) with the
1425 pods matching the labelSelector in the specified
1426 namespaces, where co-located is defined as
1427 running on a node whose value of the label
1428 with key topologyKey matches that of any node
1429 on which any of the selected pods is running.
1430 Empty topologyKey is not allowed.
1439 additionalProperties:
1441 description: 'nodeSelector is the node selector applied to
1442 the relevant kind of pods It specifies a map of key-value
1443 pairs: for the pod to be eligible to run on a node, the
1444 node must have each of the indicated key-value pairs as
1445 labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
1448 description: tolerations is a list of tolerations applied
1449 to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1450 for more info. These are additional tolerations other than
1453 description: The pod this Toleration is attached to tolerates
1454 any taint that matches the triple <key,value,effect> using
1455 the matching operator <operator>.
1458 description: Effect indicates the taint effect to match.
1459 Empty means match all taint effects. When specified,
1460 allowed values are NoSchedule, PreferNoSchedule and
1464 description: Key is the taint key that the toleration
1465 applies to. Empty means match all taint keys. If the
1466 key is empty, operator must be Exists; this combination
1467 means to match all values and all keys.
1470 description: Operator represents a key's relationship
1471 to the value. Valid operators are Exists and Equal.
1472 Defaults to Equal. Exists is equivalent to wildcard
1473 for value, so that a pod can tolerate all taints of
1474 a particular category.
1477 description: TolerationSeconds represents the period
1478 of time the toleration (which must be of effect NoExecute,
1479 otherwise this field is ignored) tolerates the taint.
1480 By default, it is not set, which means tolerate the
1481 taint forever (do not evict). Zero and negative values
1482 will be treated as 0 (evict immediately) by the system.
1486 description: Value is the taint value the toleration
1487 matches to. If the operator is Exists, the value should
1488 be empty, otherwise just a regular string.
1494 description: replicas indicates how many replicas should be created
1495 for each KubeVirt infrastructure component (like virt-api or
1496 virt-controller). Defaults to 2.
1500 description: The name of the Prometheus service account that needs
1501 read-access to KubeVirt endpoints Defaults to prometheus-k8s
1504 description: The namespace Prometheus is deployed in Defaults to openshift-monitor
1507 description: Designate the apps.kubevirt.io/component label for KubeVirt
1508 components. Useful if KubeVirt is included as part of a product.
1509 If ProductComponent is not specified, the component label default
1513 description: Designate the apps.kubevirt.io/part-of label for KubeVirt
1514 components. Useful if KubeVirt is included as part of a product.
1515 If ProductName is not specified, the part-of label will be omitted.
1518 description: Designate the apps.kubevirt.io/version label for KubeVirt
1519 components. Useful if KubeVirt is included as part of a product.
1520 If ProductVersion is not specified, KubeVirt's version will be used.
1523 description: Specifies if kubevirt can be deleted if workloads are
1524 still present. This is mainly a precaution to avoid accidental data
1527 workloadUpdateStrategy:
1528 description: WorkloadUpdateStrategy defines at the cluster level how
1529 to handle automated workload updates
1531 batchEvictionInterval:
1532 description: "BatchEvictionInterval Represents the interval to
1533 wait before issuing the next batch of shutdowns \n Defaults
1537 description: "BatchEvictionSize Represents the number of VMIs
1538 that can be forced updated per the BatchShutdownInteral interval
1541 workloadUpdateMethods:
1542 description: "WorkloadUpdateMethods defines the methods that can
1543 be used to disrupt workloads during automated workload updates.
1544 When multiple methods are present, the least disruptive method
1545 takes precedence over more disruptive methods. For example if
1546 both LiveMigrate and Shutdown methods are listed, only VMs which
1547 are not live migratable will be restarted/shutdown \n An empty
1548 list defaults to no automated workload updating"
1552 x-kubernetes-list-type: atomic
1555 description: selectors and tolerations that should apply to KubeVirt
1559 description: nodePlacement describes scheduling configuration
1560 for specific KubeVirt components
1563 description: affinity enables pod affinity/anti-affinity placement
1564 expanding the types of constraints that can be expressed
1565 with nodeSelector. affinity is going to be applied to the
1566 relevant kind of pods in parallel with nodeSelector See
1567 https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
1570 description: Describes node affinity scheduling rules
1573 preferredDuringSchedulingIgnoredDuringExecution:
1574 description: The scheduler will prefer to schedule
1575 pods to nodes that satisfy the affinity expressions
1576 specified by this field, but it may choose a node
1577 that violates one or more of the expressions. The
1578 node that is most preferred is the one with the
1579 greatest sum of weights, i.e. for each node that
1580 meets all of the scheduling requirements (resource
1581 request, requiredDuringScheduling affinity expressions,
1582 etc.), compute a sum by iterating through the elements
1583 of this field and adding "weight" to the sum if
1584 the node matches the corresponding matchExpressions;
1585 the node(s) with the highest sum are the most preferred.
1587 description: An empty preferred scheduling term
1588 matches all objects with implicit weight 0 (i.e.
1589 it's a no-op). A null preferred scheduling term
1590 matches no objects (i.e. is also a no-op).
1593 description: A node selector term, associated
1594 with the corresponding weight.
1597 description: A list of node selector requirements
1600 description: A node selector requirement
1601 is a selector that contains values,
1602 a key, and an operator that relates
1606 description: The label key that the
1607 selector applies to.
1610 description: Represents a key's relationship
1611 to a set of values. Valid operators
1612 are In, NotIn, Exists, DoesNotExist.
1616 description: An array of string values.
1617 If the operator is In or NotIn,
1618 the values array must be non-empty.
1619 If the operator is Exists or DoesNotExist,
1620 the values array must be empty.
1621 If the operator is Gt or Lt, the
1622 values array must have a single
1623 element, which will be interpreted
1624 as an integer. This array is replaced
1625 during a strategic merge patch.
1635 description: A list of node selector requirements
1638 description: A node selector requirement
1639 is a selector that contains values,
1640 a key, and an operator that relates
1644 description: The label key that the
1645 selector applies to.
1648 description: Represents a key's relationship
1649 to a set of values. Valid operators
1650 are In, NotIn, Exists, DoesNotExist.
1654 description: An array of string values.
1655 If the operator is In or NotIn,
1656 the values array must be non-empty.
1657 If the operator is Exists or DoesNotExist,
1658 the values array must be empty.
1659 If the operator is Gt or Lt, the
1660 values array must have a single
1661 element, which will be interpreted
1662 as an integer. This array is replaced
1663 during a strategic merge patch.
1674 description: Weight associated with matching
1675 the corresponding nodeSelectorTerm, in the
1684 requiredDuringSchedulingIgnoredDuringExecution:
1685 description: If the affinity requirements specified
1686 by this field are not met at scheduling time, the
1687 pod will not be scheduled onto the node. If the
1688 affinity requirements specified by this field cease
1689 to be met at some point during pod execution (e.g.
1690 due to an update), the system may or may not try
1691 to eventually evict the pod from its node.
1694 description: Required. A list of node selector
1695 terms. The terms are ORed.
1697 description: A null or empty node selector term
1698 matches no objects. The requirements of them
1699 are ANDed. The TopologySelectorTerm type implements
1700 a subset of the NodeSelectorTerm.
1703 description: A list of node selector requirements
1706 description: A node selector requirement
1707 is a selector that contains values,
1708 a key, and an operator that relates
1712 description: The label key that the
1713 selector applies to.
1716 description: Represents a key's relationship
1717 to a set of values. Valid operators
1718 are In, NotIn, Exists, DoesNotExist.
1722 description: An array of string values.
1723 If the operator is In or NotIn,
1724 the values array must be non-empty.
1725 If the operator is Exists or DoesNotExist,
1726 the values array must be empty.
1727 If the operator is Gt or Lt, the
1728 values array must have a single
1729 element, which will be interpreted
1730 as an integer. This array is replaced
1731 during a strategic merge patch.
1741 description: A list of node selector requirements
1744 description: A node selector requirement
1745 is a selector that contains values,
1746 a key, and an operator that relates
1750 description: The label key that the
1751 selector applies to.
1754 description: Represents a key's relationship
1755 to a set of values. Valid operators
1756 are In, NotIn, Exists, DoesNotExist.
1760 description: An array of string values.
1761 If the operator is In or NotIn,
1762 the values array must be non-empty.
1763 If the operator is Exists or DoesNotExist,
1764 the values array must be empty.
1765 If the operator is Gt or Lt, the
1766 values array must have a single
1767 element, which will be interpreted
1768 as an integer. This array is replaced
1769 during a strategic merge patch.
1785 description: Describes pod affinity scheduling rules (e.g.
1786 co-locate this pod in the same node, zone, etc. as some
1789 preferredDuringSchedulingIgnoredDuringExecution:
1790 description: The scheduler will prefer to schedule
1791 pods to nodes that satisfy the affinity expressions
1792 specified by this field, but it may choose a node
1793 that violates one or more of the expressions. The
1794 node that is most preferred is the one with the
1795 greatest sum of weights, i.e. for each node that
1796 meets all of the scheduling requirements (resource
1797 request, requiredDuringScheduling affinity expressions,
1798 etc.), compute a sum by iterating through the elements
1799 of this field and adding "weight" to the sum if
1800 the node has pods which matches the corresponding
1801 podAffinityTerm; the node(s) with the highest sum
1802 are the most preferred.
1804 description: The weights of all of the matched WeightedPodAffinityTerm
1805 fields are added per-node to find the most preferred
1809 description: Required. A pod affinity term,
1810 associated with the corresponding weight.
1813 description: A label query over a set of
1814 resources, in this case pods.
1817 description: matchExpressions is a list
1818 of label selector requirements. The
1819 requirements are ANDed.
1821 description: A label selector requirement
1822 is a selector that contains values,
1823 a key, and an operator that relates
1827 description: key is the label
1828 key that the selector applies
1832 description: operator represents
1833 a key's relationship to a set
1834 of values. Valid operators are
1835 In, NotIn, Exists and DoesNotExist.
1838 description: values is an array
1839 of string values. If the operator
1840 is In or NotIn, the values array
1841 must be non-empty. If the operator
1842 is Exists or DoesNotExist, the
1843 values array must be empty.
1844 This array is replaced during
1845 a strategic merge patch.
1855 additionalProperties:
1857 description: matchLabels is a map of
1858 {key,value} pairs. A single {key,value}
1859 in the matchLabels map is equivalent
1860 to an element of matchExpressions,
1861 whose key field is "key", the operator
1862 is "In", and the values array contains
1863 only "value". The requirements are
1868 description: A label query over the set
1869 of namespaces that the term applies to.
1870 The term is applied to the union of the
1871 namespaces selected by this field and
1872 the ones listed in the namespaces field.
1873 null selector and null or empty namespaces
1874 list means "this pod's namespace". An
1875 empty selector ({}) matches all namespaces.
1876 This field is beta-level and is only honored
1877 when PodAffinityNamespaceSelector feature
1881 description: matchExpressions is a list
1882 of label selector requirements. The
1883 requirements are ANDed.
1885 description: A label selector requirement
1886 is a selector that contains values,
1887 a key, and an operator that relates
1891 description: key is the label
1892 key that the selector applies
1896 description: operator represents
1897 a key's relationship to a set
1898 of values. Valid operators are
1899 In, NotIn, Exists and DoesNotExist.
1902 description: values is an array
1903 of string values. If the operator
1904 is In or NotIn, the values array
1905 must be non-empty. If the operator
1906 is Exists or DoesNotExist, the
1907 values array must be empty.
1908 This array is replaced during
1909 a strategic merge patch.
1919 additionalProperties:
1921 description: matchLabels is a map of
1922 {key,value} pairs. A single {key,value}
1923 in the matchLabels map is equivalent
1924 to an element of matchExpressions,
1925 whose key field is "key", the operator
1926 is "In", and the values array contains
1927 only "value". The requirements are
1932 description: namespaces specifies a static
1933 list of namespace names that the term
1934 applies to. The term is applied to the
1935 union of the namespaces listed in this
1936 field and the ones selected by namespaceSelector.
1937 null or empty namespaces list and null
1938 namespaceSelector means "this pod's namespace"
1943 description: This pod should be co-located
1944 (affinity) or not co-located (anti-affinity)
1945 with the pods matching the labelSelector
1946 in the specified namespaces, where co-located
1947 is defined as running on a node whose
1948 value of the label with key topologyKey
1949 matches that of any node on which any
1950 of the selected pods is running. Empty
1951 topologyKey is not allowed.
1957 description: weight associated with matching
1958 the corresponding podAffinityTerm, in the
1967 requiredDuringSchedulingIgnoredDuringExecution:
1968 description: If the affinity requirements specified
1969 by this field are not met at scheduling time, the
1970 pod will not be scheduled onto the node. If the
1971 affinity requirements specified by this field cease
1972 to be met at some point during pod execution (e.g.
1973 due to a pod label update), the system may or may
1974 not try to eventually evict the pod from its node.
1975 When there are multiple elements, the lists of nodes
1976 corresponding to each podAffinityTerm are intersected,
1977 i.e. all terms must be satisfied.
1979 description: Defines a set of pods (namely those
1980 matching the labelSelector relative to the given
1981 namespace(s)) that this pod should be co-located
1982 (affinity) or not co-located (anti-affinity) with,
1983 where co-located is defined as running on a node
1984 whose value of the label with key <topologyKey>
1985 matches that of any node on which a pod of the
1986 set of pods is running
1989 description: A label query over a set of resources,
1993 description: matchExpressions is a list
1994 of label selector requirements. The requirements
1997 description: A label selector requirement
1998 is a selector that contains values,
1999 a key, and an operator that relates
2003 description: key is the label key
2004 that the selector applies to.
2007 description: operator represents a
2008 key's relationship to a set of values.
2009 Valid operators are In, NotIn, Exists
2013 description: values is an array of
2014 string values. If the operator is
2015 In or NotIn, the values array must
2016 be non-empty. If the operator is
2017 Exists or DoesNotExist, the values
2018 array must be empty. This array
2019 is replaced during a strategic merge
2030 additionalProperties:
2032 description: matchLabels is a map of {key,value}
2033 pairs. A single {key,value} in the matchLabels
2034 map is equivalent to an element of matchExpressions,
2035 whose key field is "key", the operator
2036 is "In", and the values array contains
2037 only "value". The requirements are ANDed.
2041 description: A label query over the set of namespaces
2042 that the term applies to. The term is applied
2043 to the union of the namespaces selected by
2044 this field and the ones listed in the namespaces
2045 field. null selector and null or empty namespaces
2046 list means "this pod's namespace". An empty
2047 selector ({}) matches all namespaces. This
2048 field is beta-level and is only honored when
2049 PodAffinityNamespaceSelector feature is enabled.
2052 description: matchExpressions is a list
2053 of label selector requirements. The requirements
2056 description: A label selector requirement
2057 is a selector that contains values,
2058 a key, and an operator that relates
2062 description: key is the label key
2063 that the selector applies to.
2066 description: operator represents a
2067 key's relationship to a set of values.
2068 Valid operators are In, NotIn, Exists
2072 description: values is an array of
2073 string values. If the operator is
2074 In or NotIn, the values array must
2075 be non-empty. If the operator is
2076 Exists or DoesNotExist, the values
2077 array must be empty. This array
2078 is replaced during a strategic merge
2089 additionalProperties:
2091 description: matchLabels is a map of {key,value}
2092 pairs. A single {key,value} in the matchLabels
2093 map is equivalent to an element of matchExpressions,
2094 whose key field is "key", the operator
2095 is "In", and the values array contains
2096 only "value". The requirements are ANDed.
2100 description: namespaces specifies a static list
2101 of namespace names that the term applies to.
2102 The term is applied to the union of the namespaces
2103 listed in this field and the ones selected
2104 by namespaceSelector. null or empty namespaces
2105 list and null namespaceSelector means "this
2111 description: This pod should be co-located (affinity)
2112 or not co-located (anti-affinity) with the
2113 pods matching the labelSelector in the specified
2114 namespaces, where co-located is defined as
2115 running on a node whose value of the label
2116 with key topologyKey matches that of any node
2117 on which any of the selected pods is running.
2118 Empty topologyKey is not allowed.
2126 description: Describes pod anti-affinity scheduling rules
2127 (e.g. avoid putting this pod in the same node, zone,
2128 etc. as some other pod(s)).
2130 preferredDuringSchedulingIgnoredDuringExecution:
2131 description: The scheduler will prefer to schedule
2132 pods to nodes that satisfy the anti-affinity expressions
2133 specified by this field, but it may choose a node
2134 that violates one or more of the expressions. The
2135 node that is most preferred is the one with the
2136 greatest sum of weights, i.e. for each node that
2137 meets all of the scheduling requirements (resource
2138 request, requiredDuringScheduling anti-affinity
2139 expressions, etc.), compute a sum by iterating through
2140 the elements of this field and adding "weight" to
2141 the sum if the node has pods which matches the corresponding
2142 podAffinityTerm; the node(s) with the highest sum
2143 are the most preferred.
2145 description: The weights of all of the matched WeightedPodAffinityTerm
2146 fields are added per-node to find the most preferred
2150 description: Required. A pod affinity term,
2151 associated with the corresponding weight.
2154 description: A label query over a set of
2155 resources, in this case pods.
2158 description: matchExpressions is a list
2159 of label selector requirements. The
2160 requirements are ANDed.
2162 description: A label selector requirement
2163 is a selector that contains values,
2164 a key, and an operator that relates
2168 description: key is the label
2169 key that the selector applies
2173 description: operator represents
2174 a key's relationship to a set
2175 of values. Valid operators are
2176 In, NotIn, Exists and DoesNotExist.
2179 description: values is an array
2180 of string values. If the operator
2181 is In or NotIn, the values array
2182 must be non-empty. If the operator
2183 is Exists or DoesNotExist, the
2184 values array must be empty.
2185 This array is replaced during
2186 a strategic merge patch.
2196 additionalProperties:
2198 description: matchLabels is a map of
2199 {key,value} pairs. A single {key,value}
2200 in the matchLabels map is equivalent
2201 to an element of matchExpressions,
2202 whose key field is "key", the operator
2203 is "In", and the values array contains
2204 only "value". The requirements are
2209 description: A label query over the set
2210 of namespaces that the term applies to.
2211 The term is applied to the union of the
2212 namespaces selected by this field and
2213 the ones listed in the namespaces field.
2214 null selector and null or empty namespaces
2215 list means "this pod's namespace". An
2216 empty selector ({}) matches all namespaces.
2217 This field is beta-level and is only honored
2218 when PodAffinityNamespaceSelector feature
2222 description: matchExpressions is a list
2223 of label selector requirements. The
2224 requirements are ANDed.
2226 description: A label selector requirement
2227 is a selector that contains values,
2228 a key, and an operator that relates
2232 description: key is the label
2233 key that the selector applies
2237 description: operator represents
2238 a key's relationship to a set
2239 of values. Valid operators are
2240 In, NotIn, Exists and DoesNotExist.
2243 description: values is an array
2244 of string values. If the operator
2245 is In or NotIn, the values array
2246 must be non-empty. If the operator
2247 is Exists or DoesNotExist, the
2248 values array must be empty.
2249 This array is replaced during
2250 a strategic merge patch.
2260 additionalProperties:
2262 description: matchLabels is a map of
2263 {key,value} pairs. A single {key,value}
2264 in the matchLabels map is equivalent
2265 to an element of matchExpressions,
2266 whose key field is "key", the operator
2267 is "In", and the values array contains
2268 only "value". The requirements are
2273 description: namespaces specifies a static
2274 list of namespace names that the term
2275 applies to. The term is applied to the
2276 union of the namespaces listed in this
2277 field and the ones selected by namespaceSelector.
2278 null or empty namespaces list and null
2279 namespaceSelector means "this pod's namespace"
2284 description: This pod should be co-located
2285 (affinity) or not co-located (anti-affinity)
2286 with the pods matching the labelSelector
2287 in the specified namespaces, where co-located
2288 is defined as running on a node whose
2289 value of the label with key topologyKey
2290 matches that of any node on which any
2291 of the selected pods is running. Empty
2292 topologyKey is not allowed.
2298 description: weight associated with matching
2299 the corresponding podAffinityTerm, in the
2308 requiredDuringSchedulingIgnoredDuringExecution:
2309 description: If the anti-affinity requirements specified
2310 by this field are not met at scheduling time, the
2311 pod will not be scheduled onto the node. If the
2312 anti-affinity requirements specified by this field
2313 cease to be met at some point during pod execution
2314 (e.g. due to a pod label update), the system may
2315 or may not try to eventually evict the pod from
2316 its node. When there are multiple elements, the
2317 lists of nodes corresponding to each podAffinityTerm
2318 are intersected, i.e. all terms must be satisfied.
2320 description: Defines a set of pods (namely those
2321 matching the labelSelector relative to the given
2322 namespace(s)) that this pod should be co-located
2323 (affinity) or not co-located (anti-affinity) with,
2324 where co-located is defined as running on a node
2325 whose value of the label with key <topologyKey>
2326 matches that of any node on which a pod of the
2327 set of pods is running
2330 description: A label query over a set of resources,
2334 description: matchExpressions is a list
2335 of label selector requirements. The requirements
2338 description: A label selector requirement
2339 is a selector that contains values,
2340 a key, and an operator that relates
2344 description: key is the label key
2345 that the selector applies to.
2348 description: operator represents a
2349 key's relationship to a set of values.
2350 Valid operators are In, NotIn, Exists
2354 description: values is an array of
2355 string values. If the operator is
2356 In or NotIn, the values array must
2357 be non-empty. If the operator is
2358 Exists or DoesNotExist, the values
2359 array must be empty. This array
2360 is replaced during a strategic merge
2371 additionalProperties:
2373 description: matchLabels is a map of {key,value}
2374 pairs. A single {key,value} in the matchLabels
2375 map is equivalent to an element of matchExpressions,
2376 whose key field is "key", the operator
2377 is "In", and the values array contains
2378 only "value". The requirements are ANDed.
2382 description: A label query over the set of namespaces
2383 that the term applies to. The term is applied
2384 to the union of the namespaces selected by
2385 this field and the ones listed in the namespaces
2386 field. null selector and null or empty namespaces
2387 list means "this pod's namespace". An empty
2388 selector ({}) matches all namespaces. This
2389 field is beta-level and is only honored when
2390 PodAffinityNamespaceSelector feature is enabled.
2393 description: matchExpressions is a list
2394 of label selector requirements. The requirements
2397 description: A label selector requirement
2398 is a selector that contains values,
2399 a key, and an operator that relates
2403 description: key is the label key
2404 that the selector applies to.
2407 description: operator represents a
2408 key's relationship to a set of values.
2409 Valid operators are In, NotIn, Exists
2413 description: values is an array of
2414 string values. If the operator is
2415 In or NotIn, the values array must
2416 be non-empty. If the operator is
2417 Exists or DoesNotExist, the values
2418 array must be empty. This array
2419 is replaced during a strategic merge
2430 additionalProperties:
2432 description: matchLabels is a map of {key,value}
2433 pairs. A single {key,value} in the matchLabels
2434 map is equivalent to an element of matchExpressions,
2435 whose key field is "key", the operator
2436 is "In", and the values array contains
2437 only "value". The requirements are ANDed.
2441 description: namespaces specifies a static list
2442 of namespace names that the term applies to.
2443 The term is applied to the union of the namespaces
2444 listed in this field and the ones selected
2445 by namespaceSelector. null or empty namespaces
2446 list and null namespaceSelector means "this
2452 description: This pod should be co-located (affinity)
2453 or not co-located (anti-affinity) with the
2454 pods matching the labelSelector in the specified
2455 namespaces, where co-located is defined as
2456 running on a node whose value of the label
2457 with key topologyKey matches that of any node
2458 on which any of the selected pods is running.
2459 Empty topologyKey is not allowed.
2468 additionalProperties:
2470 description: 'nodeSelector is the node selector applied to
2471 the relevant kind of pods It specifies a map of key-value
2472 pairs: for the pod to be eligible to run on a node, the
2473 node must have each of the indicated key-value pairs as
2474 labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
2477 description: tolerations is a list of tolerations applied
2478 to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2479 for more info. These are additional tolerations other than
2482 description: The pod this Toleration is attached to tolerates
2483 any taint that matches the triple <key,value,effect> using
2484 the matching operator <operator>.
2487 description: Effect indicates the taint effect to match.
2488 Empty means match all taint effects. When specified,
2489 allowed values are NoSchedule, PreferNoSchedule and
2493 description: Key is the taint key that the toleration
2494 applies to. Empty means match all taint keys. If the
2495 key is empty, operator must be Exists; this combination
2496 means to match all values and all keys.
2499 description: Operator represents a key's relationship
2500 to the value. Valid operators are Exists and Equal.
2501 Defaults to Equal. Exists is equivalent to wildcard
2502 for value, so that a pod can tolerate all taints of
2503 a particular category.
2506 description: TolerationSeconds represents the period
2507 of time the toleration (which must be of effect NoExecute,
2508 otherwise this field is ignored) tolerates the taint.
2509 By default, it is not set, which means tolerate the
2510 taint forever (do not evict). Zero and negative values
2511 will be treated as 0 (evict immediately) by the system.
2515 description: Value is the taint value the toleration
2516 matches to. If the operator is Exists, the value should
2517 be empty, otherwise just a regular string.
2523 description: replicas indicates how many replicas should be created
2524 for each KubeVirt infrastructure component (like virt-api or
2525 virt-controller). Defaults to 2.
2530 description: KubeVirtStatus represents information pertaining to a KubeVirt
2535 description: KubeVirtCondition represents a condition of a KubeVirt
2561 description: GenerationStatus keeps track of the generation for
2562 a given resource so that decisions about forced updates can be
2566 description: group is the group of the thing you're tracking
2569 description: hash is an optional field set for resources without
2570 generation that are content sensitive like secrets and configmaps
2573 description: lastGeneration is the last generation of the workload
2578 description: name is the name of the thing you're tracking
2581 description: namespace is where the thing you're tracking is
2584 description: resource is the resource type of the thing you're
2594 x-kubernetes-list-type: atomic
2595 observedDeploymentConfig:
2597 observedDeploymentID:
2599 observedKubeVirtRegistry:
2601 observedKubeVirtVersion:
2605 outdatedVirtualMachineInstanceWorkloads:
2608 description: KubeVirtPhase is a label for the phase of a KubeVirt
2609 deployment at the current time.
2611 targetDeploymentConfig:
2615 targetKubeVirtRegistry:
2617 targetKubeVirtVersion:
2627 - additionalPrinterColumns:
2628 - jsonPath: .metadata.creationTimestamp
2631 - jsonPath: .status.phase
2637 description: KubeVirt represents the object deploying all KubeVirt resources
2640 description: 'APIVersion defines the versioned schema of this representation
2641 of an object. Servers should convert recognized schemas to the latest
2642 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2645 description: 'Kind is a string value representing the REST resource this
2646 object represents. Servers may infer this from the endpoint the client
2647 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2653 certificateRotateStrategy:
2658 description: CA configuration CA certs are kept in the CA
2659 bundle as long as they are valid
2662 description: The requested 'duration' (i.e. lifetime)
2666 description: The amount of time before the currently issued
2667 certificate's "notAfter" time that we will begin to
2668 attempt to renew the certificate.
2672 description: Deprecated. Use CA.Duration and CA.RenewBefore
2676 description: Deprecated. Use CA.Duration instead
2679 description: Deprecated. Use Server.Duration instead
2682 description: Server configuration Certs are rotated and discarded
2685 description: The requested 'duration' (i.e. lifetime)
2689 description: The amount of time before the currently issued
2690 certificate's "notAfter" time that we will begin to
2691 attempt to renew the certificate.
2697 description: holds kubevirt configurations. same as the virt-configMap
2700 description: ReloadableComponentConfiguration holds all generic
2701 k8s configuration options which can be reloaded by components
2702 without requiring a restart.
2705 description: RestClient can be used to tune certain aspects
2706 of the k8s client in use.
2709 description: RateLimiter allows selecting and configuring
2710 different rate limiters for the k8s client.
2712 tokenBucketRateLimiter:
2715 description: Maximum burst for throttle. If it's
2716 zero, the component default will be used
2719 description: QPS indicates the maximum QPS to
2720 the apiserver from this client. If it's zero,
2721 the component default will be used
2730 controllerConfiguration:
2731 description: ReloadableComponentConfiguration holds all generic
2732 k8s configuration options which can be reloaded by components
2733 without requiring a restart.
2736 description: RestClient can be used to tune certain aspects
2737 of the k8s client in use.
2740 description: RateLimiter allows selecting and configuring
2741 different rate limiters for the k8s client.
2743 tokenBucketRateLimiter:
2746 description: Maximum burst for throttle. If it's
2747 zero, the component default will be used
2750 description: QPS indicates the maximum QPS to
2751 the apiserver from this client. If it's zero,
2752 the component default will be used
2767 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2768 x-kubernetes-int-or-string: true
2769 defaultRuntimeClass:
2771 developerConfiguration:
2772 description: DeveloperConfiguration holds developer options
2777 description: DiskVerification holds container disks verification
2784 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2785 x-kubernetes-int-or-string: true
2794 description: LogVerbosity sets log verbosity level of various
2798 additionalProperties:
2800 description: NodeVerbosity represents a map of nodes with
2801 a specific verbosity level
2816 minimumClusterTSCFrequency:
2817 description: Allow overriding the automatically determined
2818 minimum TSC frequency of the cluster and fixate the minimum
2822 minimumReservePVCBytes:
2826 additionalProperties:
2829 pvcTolerateLessSpaceUpToPercent:
2832 description: UseEmulation can be set to true to allow fallback
2833 to software emulation in case hardware-assisted emulation
2841 handlerConfiguration:
2842 description: ReloadableComponentConfiguration holds all generic
2843 k8s configuration options which can be reloaded by components
2844 without requiring a restart.
2847 description: RestClient can be used to tune certain aspects
2848 of the k8s client in use.
2851 description: RateLimiter allows selecting and configuring
2852 different rate limiters for the k8s client.
2854 tokenBucketRateLimiter:
2857 description: Maximum burst for throttle. If it's
2858 zero, the component default will be used
2861 description: QPS indicates the maximum QPS to
2862 the apiserver from this client. If it's zero,
2863 the component default will be used
2873 description: PullPolicy describes a policy for if/when to pull
2878 mediatedDevicesConfiguration:
2879 description: MediatedDevicesConfiguration holds inforamtion about
2880 MDEV types to be defined, if available
2882 mediatedDevicesTypes:
2886 x-kubernetes-list-type: atomic
2887 nodeMediatedDeviceTypes:
2889 description: NodeMediatedDeviceTypesConfig holds inforamtion
2890 about MDEV types to be defined in a specifc node that
2891 matches the NodeSelector field.
2893 mediatedDevicesTypes:
2897 x-kubernetes-list-type: atomic
2899 additionalProperties:
2901 description: 'NodeSelector is a selector which must
2902 be true for the vmi to fit on a node. Selector which
2903 must match a node''s labels for the vmi to be scheduled
2904 on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/'
2907 - mediatedDevicesTypes
2911 x-kubernetes-list-type: atomic
2913 memBalloonStatsPeriod:
2917 description: MigrationConfiguration holds migration options
2923 bandwidthPerMigration:
2927 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
2928 x-kubernetes-int-or-string: true
2929 completionTimeoutPerGiB:
2938 parallelMigrationsPerCluster:
2941 parallelOutboundMigrationsPerNode:
2947 unsafeMigrationOverride:
2953 description: NetworkConfiguration holds network options
2955 defaultNetworkInterface:
2957 permitBridgeInterfaceOnPodNetwork:
2959 permitSlirpInterface:
2963 additionalProperties:
2968 permittedHostDevices:
2969 description: PermittedHostDevices holds inforamtion about devices
2970 allowed for passthrough
2974 description: MediatedHostDevice represents a host mediated
2975 device allowed for passthrough
2977 externalResourceProvider:
2988 x-kubernetes-list-type: atomic
2991 description: PciHostDevice represents a host PCI device
2992 allowed for passthrough
2994 externalResourceProvider:
2995 description: If true, KubeVirt will leave the allocation
2996 and monitoring to an external device plugin
2999 description: The vendor_id:product_id tuple of the PCI
3003 description: The name of the resource that is representing
3004 the device. Exposed by a device plugin and requested
3005 by VMs. Typically of the form vendor.com/product_nameThe
3006 name of the resource that is representing the device.
3007 Exposed by a device plugin and requested by VMs. Typically
3008 of the form vendor.com/product_name
3015 x-kubernetes-list-type: atomic
3017 selinuxLauncherType:
3032 supportedGuestAgentVersions:
3033 description: deprecated
3037 virtualMachineInstancesPerNode:
3039 webhookConfiguration:
3040 description: ReloadableComponentConfiguration holds all generic
3041 k8s configuration options which can be reloaded by components
3042 without requiring a restart.
3045 description: RestClient can be used to tune certain aspects
3046 of the k8s client in use.
3049 description: RateLimiter allows selecting and configuring
3050 different rate limiters for the k8s client.
3052 tokenBucketRateLimiter:
3055 description: Maximum burst for throttle. If it's
3056 zero, the component default will be used
3059 description: QPS indicates the maximum QPS to
3060 the apiserver from this client. If it's zero,
3061 the component default will be used
3071 customizeComponents:
3074 description: Configure the value used for deployment and daemonset
3078 additionalProperties:
3082 additionalProperties:
3086 additionalProperties:
3110 x-kubernetes-list-type: atomic
3113 description: The ImagePullPolicy to use.
3116 description: The image registry to pull the container images from
3117 Defaults to the same registry the operator's container image is
3121 description: The image tag to use for the continer images installed.
3122 Defaults to the same tag as the operator's container image.
3125 description: selectors and tolerations that should apply to KubeVirt
3126 infrastructure components
3129 description: nodePlacement describes scheduling configuration
3130 for specific KubeVirt components
3133 description: affinity enables pod affinity/anti-affinity placement
3134 expanding the types of constraints that can be expressed
3135 with nodeSelector. affinity is going to be applied to the
3136 relevant kind of pods in parallel with nodeSelector See
3137 https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
3140 description: Describes node affinity scheduling rules
3143 preferredDuringSchedulingIgnoredDuringExecution:
3144 description: The scheduler will prefer to schedule
3145 pods to nodes that satisfy the affinity expressions
3146 specified by this field, but it may choose a node
3147 that violates one or more of the expressions. The
3148 node that is most preferred is the one with the
3149 greatest sum of weights, i.e. for each node that
3150 meets all of the scheduling requirements (resource
3151 request, requiredDuringScheduling affinity expressions,
3152 etc.), compute a sum by iterating through the elements
3153 of this field and adding "weight" to the sum if
3154 the node matches the corresponding matchExpressions;
3155 the node(s) with the highest sum are the most preferred.
3157 description: An empty preferred scheduling term
3158 matches all objects with implicit weight 0 (i.e.
3159 it's a no-op). A null preferred scheduling term
3160 matches no objects (i.e. is also a no-op).
3163 description: A node selector term, associated
3164 with the corresponding weight.
3167 description: A list of node selector requirements
3170 description: A node selector requirement
3171 is a selector that contains values,
3172 a key, and an operator that relates
3176 description: The label key that the
3177 selector applies to.
3180 description: Represents a key's relationship
3181 to a set of values. Valid operators
3182 are In, NotIn, Exists, DoesNotExist.
3186 description: An array of string values.
3187 If the operator is In or NotIn,
3188 the values array must be non-empty.
3189 If the operator is Exists or DoesNotExist,
3190 the values array must be empty.
3191 If the operator is Gt or Lt, the
3192 values array must have a single
3193 element, which will be interpreted
3194 as an integer. This array is replaced
3195 during a strategic merge patch.
3205 description: A list of node selector requirements
3208 description: A node selector requirement
3209 is a selector that contains values,
3210 a key, and an operator that relates
3214 description: The label key that the
3215 selector applies to.
3218 description: Represents a key's relationship
3219 to a set of values. Valid operators
3220 are In, NotIn, Exists, DoesNotExist.
3224 description: An array of string values.
3225 If the operator is In or NotIn,
3226 the values array must be non-empty.
3227 If the operator is Exists or DoesNotExist,
3228 the values array must be empty.
3229 If the operator is Gt or Lt, the
3230 values array must have a single
3231 element, which will be interpreted
3232 as an integer. This array is replaced
3233 during a strategic merge patch.
3244 description: Weight associated with matching
3245 the corresponding nodeSelectorTerm, in the
3254 requiredDuringSchedulingIgnoredDuringExecution:
3255 description: If the affinity requirements specified
3256 by this field are not met at scheduling time, the
3257 pod will not be scheduled onto the node. If the
3258 affinity requirements specified by this field cease
3259 to be met at some point during pod execution (e.g.
3260 due to an update), the system may or may not try
3261 to eventually evict the pod from its node.
3264 description: Required. A list of node selector
3265 terms. The terms are ORed.
3267 description: A null or empty node selector term
3268 matches no objects. The requirements of them
3269 are ANDed. The TopologySelectorTerm type implements
3270 a subset of the NodeSelectorTerm.
3273 description: A list of node selector requirements
3276 description: A node selector requirement
3277 is a selector that contains values,
3278 a key, and an operator that relates
3282 description: The label key that the
3283 selector applies to.
3286 description: Represents a key's relationship
3287 to a set of values. Valid operators
3288 are In, NotIn, Exists, DoesNotExist.
3292 description: An array of string values.
3293 If the operator is In or NotIn,
3294 the values array must be non-empty.
3295 If the operator is Exists or DoesNotExist,
3296 the values array must be empty.
3297 If the operator is Gt or Lt, the
3298 values array must have a single
3299 element, which will be interpreted
3300 as an integer. This array is replaced
3301 during a strategic merge patch.
3311 description: A list of node selector requirements
3314 description: A node selector requirement
3315 is a selector that contains values,
3316 a key, and an operator that relates
3320 description: The label key that the
3321 selector applies to.
3324 description: Represents a key's relationship
3325 to a set of values. Valid operators
3326 are In, NotIn, Exists, DoesNotExist.
3330 description: An array of string values.
3331 If the operator is In or NotIn,
3332 the values array must be non-empty.
3333 If the operator is Exists or DoesNotExist,
3334 the values array must be empty.
3335 If the operator is Gt or Lt, the
3336 values array must have a single
3337 element, which will be interpreted
3338 as an integer. This array is replaced
3339 during a strategic merge patch.
3355 description: Describes pod affinity scheduling rules (e.g.
3356 co-locate this pod in the same node, zone, etc. as some
3359 preferredDuringSchedulingIgnoredDuringExecution:
3360 description: The scheduler will prefer to schedule
3361 pods to nodes that satisfy the affinity expressions
3362 specified by this field, but it may choose a node
3363 that violates one or more of the expressions. The
3364 node that is most preferred is the one with the
3365 greatest sum of weights, i.e. for each node that
3366 meets all of the scheduling requirements (resource
3367 request, requiredDuringScheduling affinity expressions,
3368 etc.), compute a sum by iterating through the elements
3369 of this field and adding "weight" to the sum if
3370 the node has pods which matches the corresponding
3371 podAffinityTerm; the node(s) with the highest sum
3372 are the most preferred.
3374 description: The weights of all of the matched WeightedPodAffinityTerm
3375 fields are added per-node to find the most preferred
3379 description: Required. A pod affinity term,
3380 associated with the corresponding weight.
3383 description: A label query over a set of
3384 resources, in this case pods.
3387 description: matchExpressions is a list
3388 of label selector requirements. The
3389 requirements are ANDed.
3391 description: A label selector requirement
3392 is a selector that contains values,
3393 a key, and an operator that relates
3397 description: key is the label
3398 key that the selector applies
3402 description: operator represents
3403 a key's relationship to a set
3404 of values. Valid operators are
3405 In, NotIn, Exists and DoesNotExist.
3408 description: values is an array
3409 of string values. If the operator
3410 is In or NotIn, the values array
3411 must be non-empty. If the operator
3412 is Exists or DoesNotExist, the
3413 values array must be empty.
3414 This array is replaced during
3415 a strategic merge patch.
3425 additionalProperties:
3427 description: matchLabels is a map of
3428 {key,value} pairs. A single {key,value}
3429 in the matchLabels map is equivalent
3430 to an element of matchExpressions,
3431 whose key field is "key", the operator
3432 is "In", and the values array contains
3433 only "value". The requirements are
3438 description: A label query over the set
3439 of namespaces that the term applies to.
3440 The term is applied to the union of the
3441 namespaces selected by this field and
3442 the ones listed in the namespaces field.
3443 null selector and null or empty namespaces
3444 list means "this pod's namespace". An
3445 empty selector ({}) matches all namespaces.
3446 This field is beta-level and is only honored
3447 when PodAffinityNamespaceSelector feature
3451 description: matchExpressions is a list
3452 of label selector requirements. The
3453 requirements are ANDed.
3455 description: A label selector requirement
3456 is a selector that contains values,
3457 a key, and an operator that relates
3461 description: key is the label
3462 key that the selector applies
3466 description: operator represents
3467 a key's relationship to a set
3468 of values. Valid operators are
3469 In, NotIn, Exists and DoesNotExist.
3472 description: values is an array
3473 of string values. If the operator
3474 is In or NotIn, the values array
3475 must be non-empty. If the operator
3476 is Exists or DoesNotExist, the
3477 values array must be empty.
3478 This array is replaced during
3479 a strategic merge patch.
3489 additionalProperties:
3491 description: matchLabels is a map of
3492 {key,value} pairs. A single {key,value}
3493 in the matchLabels map is equivalent
3494 to an element of matchExpressions,
3495 whose key field is "key", the operator
3496 is "In", and the values array contains
3497 only "value". The requirements are
3502 description: namespaces specifies a static
3503 list of namespace names that the term
3504 applies to. The term is applied to the
3505 union of the namespaces listed in this
3506 field and the ones selected by namespaceSelector.
3507 null or empty namespaces list and null
3508 namespaceSelector means "this pod's namespace"
3513 description: This pod should be co-located
3514 (affinity) or not co-located (anti-affinity)
3515 with the pods matching the labelSelector
3516 in the specified namespaces, where co-located
3517 is defined as running on a node whose
3518 value of the label with key topologyKey
3519 matches that of any node on which any
3520 of the selected pods is running. Empty
3521 topologyKey is not allowed.
3527 description: weight associated with matching
3528 the corresponding podAffinityTerm, in the
3537 requiredDuringSchedulingIgnoredDuringExecution:
3538 description: If the affinity requirements specified
3539 by this field are not met at scheduling time, the
3540 pod will not be scheduled onto the node. If the
3541 affinity requirements specified by this field cease
3542 to be met at some point during pod execution (e.g.
3543 due to a pod label update), the system may or may
3544 not try to eventually evict the pod from its node.
3545 When there are multiple elements, the lists of nodes
3546 corresponding to each podAffinityTerm are intersected,
3547 i.e. all terms must be satisfied.
3549 description: Defines a set of pods (namely those
3550 matching the labelSelector relative to the given
3551 namespace(s)) that this pod should be co-located
3552 (affinity) or not co-located (anti-affinity) with,
3553 where co-located is defined as running on a node
3554 whose value of the label with key <topologyKey>
3555 matches that of any node on which a pod of the
3556 set of pods is running
3559 description: A label query over a set of resources,
3563 description: matchExpressions is a list
3564 of label selector requirements. The requirements
3567 description: A label selector requirement
3568 is a selector that contains values,
3569 a key, and an operator that relates
3573 description: key is the label key
3574 that the selector applies to.
3577 description: operator represents a
3578 key's relationship to a set of values.
3579 Valid operators are In, NotIn, Exists
3583 description: values is an array of
3584 string values. If the operator is
3585 In or NotIn, the values array must
3586 be non-empty. If the operator is
3587 Exists or DoesNotExist, the values
3588 array must be empty. This array
3589 is replaced during a strategic merge
3600 additionalProperties:
3602 description: matchLabels is a map of {key,value}
3603 pairs. A single {key,value} in the matchLabels
3604 map is equivalent to an element of matchExpressions,
3605 whose key field is "key", the operator
3606 is "In", and the values array contains
3607 only "value". The requirements are ANDed.
3611 description: A label query over the set of namespaces
3612 that the term applies to. The term is applied
3613 to the union of the namespaces selected by
3614 this field and the ones listed in the namespaces
3615 field. null selector and null or empty namespaces
3616 list means "this pod's namespace". An empty
3617 selector ({}) matches all namespaces. This
3618 field is beta-level and is only honored when
3619 PodAffinityNamespaceSelector feature is enabled.
3622 description: matchExpressions is a list
3623 of label selector requirements. The requirements
3626 description: A label selector requirement
3627 is a selector that contains values,
3628 a key, and an operator that relates
3632 description: key is the label key
3633 that the selector applies to.
3636 description: operator represents a
3637 key's relationship to a set of values.
3638 Valid operators are In, NotIn, Exists
3642 description: values is an array of
3643 string values. If the operator is
3644 In or NotIn, the values array must
3645 be non-empty. If the operator is
3646 Exists or DoesNotExist, the values
3647 array must be empty. This array
3648 is replaced during a strategic merge
3659 additionalProperties:
3661 description: matchLabels is a map of {key,value}
3662 pairs. A single {key,value} in the matchLabels
3663 map is equivalent to an element of matchExpressions,
3664 whose key field is "key", the operator
3665 is "In", and the values array contains
3666 only "value". The requirements are ANDed.
3670 description: namespaces specifies a static list
3671 of namespace names that the term applies to.
3672 The term is applied to the union of the namespaces
3673 listed in this field and the ones selected
3674 by namespaceSelector. null or empty namespaces
3675 list and null namespaceSelector means "this
3681 description: This pod should be co-located (affinity)
3682 or not co-located (anti-affinity) with the
3683 pods matching the labelSelector in the specified
3684 namespaces, where co-located is defined as
3685 running on a node whose value of the label
3686 with key topologyKey matches that of any node
3687 on which any of the selected pods is running.
3688 Empty topologyKey is not allowed.
3696 description: Describes pod anti-affinity scheduling rules
3697 (e.g. avoid putting this pod in the same node, zone,
3698 etc. as some other pod(s)).
3700 preferredDuringSchedulingIgnoredDuringExecution:
3701 description: The scheduler will prefer to schedule
3702 pods to nodes that satisfy the anti-affinity expressions
3703 specified by this field, but it may choose a node
3704 that violates one or more of the expressions. The
3705 node that is most preferred is the one with the
3706 greatest sum of weights, i.e. for each node that
3707 meets all of the scheduling requirements (resource
3708 request, requiredDuringScheduling anti-affinity
3709 expressions, etc.), compute a sum by iterating through
3710 the elements of this field and adding "weight" to
3711 the sum if the node has pods which matches the corresponding
3712 podAffinityTerm; the node(s) with the highest sum
3713 are the most preferred.
3715 description: The weights of all of the matched WeightedPodAffinityTerm
3716 fields are added per-node to find the most preferred
3720 description: Required. A pod affinity term,
3721 associated with the corresponding weight.
3724 description: A label query over a set of
3725 resources, in this case pods.
3728 description: matchExpressions is a list
3729 of label selector requirements. The
3730 requirements are ANDed.
3732 description: A label selector requirement
3733 is a selector that contains values,
3734 a key, and an operator that relates
3738 description: key is the label
3739 key that the selector applies
3743 description: operator represents
3744 a key's relationship to a set
3745 of values. Valid operators are
3746 In, NotIn, Exists and DoesNotExist.
3749 description: values is an array
3750 of string values. If the operator
3751 is In or NotIn, the values array
3752 must be non-empty. If the operator
3753 is Exists or DoesNotExist, the
3754 values array must be empty.
3755 This array is replaced during
3756 a strategic merge patch.
3766 additionalProperties:
3768 description: matchLabels is a map of
3769 {key,value} pairs. A single {key,value}
3770 in the matchLabels map is equivalent
3771 to an element of matchExpressions,
3772 whose key field is "key", the operator
3773 is "In", and the values array contains
3774 only "value". The requirements are
3779 description: A label query over the set
3780 of namespaces that the term applies to.
3781 The term is applied to the union of the
3782 namespaces selected by this field and
3783 the ones listed in the namespaces field.
3784 null selector and null or empty namespaces
3785 list means "this pod's namespace". An
3786 empty selector ({}) matches all namespaces.
3787 This field is beta-level and is only honored
3788 when PodAffinityNamespaceSelector feature
3792 description: matchExpressions is a list
3793 of label selector requirements. The
3794 requirements are ANDed.
3796 description: A label selector requirement
3797 is a selector that contains values,
3798 a key, and an operator that relates
3802 description: key is the label
3803 key that the selector applies
3807 description: operator represents
3808 a key's relationship to a set
3809 of values. Valid operators are
3810 In, NotIn, Exists and DoesNotExist.
3813 description: values is an array
3814 of string values. If the operator
3815 is In or NotIn, the values array
3816 must be non-empty. If the operator
3817 is Exists or DoesNotExist, the
3818 values array must be empty.
3819 This array is replaced during
3820 a strategic merge patch.
3830 additionalProperties:
3832 description: matchLabels is a map of
3833 {key,value} pairs. A single {key,value}
3834 in the matchLabels map is equivalent
3835 to an element of matchExpressions,
3836 whose key field is "key", the operator
3837 is "In", and the values array contains
3838 only "value". The requirements are
3843 description: namespaces specifies a static
3844 list of namespace names that the term
3845 applies to. The term is applied to the
3846 union of the namespaces listed in this
3847 field and the ones selected by namespaceSelector.
3848 null or empty namespaces list and null
3849 namespaceSelector means "this pod's namespace"
3854 description: This pod should be co-located
3855 (affinity) or not co-located (anti-affinity)
3856 with the pods matching the labelSelector
3857 in the specified namespaces, where co-located
3858 is defined as running on a node whose
3859 value of the label with key topologyKey
3860 matches that of any node on which any
3861 of the selected pods is running. Empty
3862 topologyKey is not allowed.
3868 description: weight associated with matching
3869 the corresponding podAffinityTerm, in the
3878 requiredDuringSchedulingIgnoredDuringExecution:
3879 description: If the anti-affinity requirements specified
3880 by this field are not met at scheduling time, the
3881 pod will not be scheduled onto the node. If the
3882 anti-affinity requirements specified by this field
3883 cease to be met at some point during pod execution
3884 (e.g. due to a pod label update), the system may
3885 or may not try to eventually evict the pod from
3886 its node. When there are multiple elements, the
3887 lists of nodes corresponding to each podAffinityTerm
3888 are intersected, i.e. all terms must be satisfied.
3890 description: Defines a set of pods (namely those
3891 matching the labelSelector relative to the given
3892 namespace(s)) that this pod should be co-located
3893 (affinity) or not co-located (anti-affinity) with,
3894 where co-located is defined as running on a node
3895 whose value of the label with key <topologyKey>
3896 matches that of any node on which a pod of the
3897 set of pods is running
3900 description: A label query over a set of resources,
3904 description: matchExpressions is a list
3905 of label selector requirements. The requirements
3908 description: A label selector requirement
3909 is a selector that contains values,
3910 a key, and an operator that relates
3914 description: key is the label key
3915 that the selector applies to.
3918 description: operator represents a
3919 key's relationship to a set of values.
3920 Valid operators are In, NotIn, Exists
3924 description: values is an array of
3925 string values. If the operator is
3926 In or NotIn, the values array must
3927 be non-empty. If the operator is
3928 Exists or DoesNotExist, the values
3929 array must be empty. This array
3930 is replaced during a strategic merge
3941 additionalProperties:
3943 description: matchLabels is a map of {key,value}
3944 pairs. A single {key,value} in the matchLabels
3945 map is equivalent to an element of matchExpressions,
3946 whose key field is "key", the operator
3947 is "In", and the values array contains
3948 only "value". The requirements are ANDed.
3952 description: A label query over the set of namespaces
3953 that the term applies to. The term is applied
3954 to the union of the namespaces selected by
3955 this field and the ones listed in the namespaces
3956 field. null selector and null or empty namespaces
3957 list means "this pod's namespace". An empty
3958 selector ({}) matches all namespaces. This
3959 field is beta-level and is only honored when
3960 PodAffinityNamespaceSelector feature is enabled.
3963 description: matchExpressions is a list
3964 of label selector requirements. The requirements
3967 description: A label selector requirement
3968 is a selector that contains values,
3969 a key, and an operator that relates
3973 description: key is the label key
3974 that the selector applies to.
3977 description: operator represents a
3978 key's relationship to a set of values.
3979 Valid operators are In, NotIn, Exists
3983 description: values is an array of
3984 string values. If the operator is
3985 In or NotIn, the values array must
3986 be non-empty. If the operator is
3987 Exists or DoesNotExist, the values
3988 array must be empty. This array
3989 is replaced during a strategic merge
4000 additionalProperties:
4002 description: matchLabels is a map of {key,value}
4003 pairs. A single {key,value} in the matchLabels
4004 map is equivalent to an element of matchExpressions,
4005 whose key field is "key", the operator
4006 is "In", and the values array contains
4007 only "value". The requirements are ANDed.
4011 description: namespaces specifies a static list
4012 of namespace names that the term applies to.
4013 The term is applied to the union of the namespaces
4014 listed in this field and the ones selected
4015 by namespaceSelector. null or empty namespaces
4016 list and null namespaceSelector means "this
4022 description: This pod should be co-located (affinity)
4023 or not co-located (anti-affinity) with the
4024 pods matching the labelSelector in the specified
4025 namespaces, where co-located is defined as
4026 running on a node whose value of the label
4027 with key topologyKey matches that of any node
4028 on which any of the selected pods is running.
4029 Empty topologyKey is not allowed.
4038 additionalProperties:
4040 description: 'nodeSelector is the node selector applied to
4041 the relevant kind of pods It specifies a map of key-value
4042 pairs: for the pod to be eligible to run on a node, the
4043 node must have each of the indicated key-value pairs as
4044 labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
4047 description: tolerations is a list of tolerations applied
4048 to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
4049 for more info. These are additional tolerations other than
4052 description: The pod this Toleration is attached to tolerates
4053 any taint that matches the triple <key,value,effect> using
4054 the matching operator <operator>.
4057 description: Effect indicates the taint effect to match.
4058 Empty means match all taint effects. When specified,
4059 allowed values are NoSchedule, PreferNoSchedule and
4063 description: Key is the taint key that the toleration
4064 applies to. Empty means match all taint keys. If the
4065 key is empty, operator must be Exists; this combination
4066 means to match all values and all keys.
4069 description: Operator represents a key's relationship
4070 to the value. Valid operators are Exists and Equal.
4071 Defaults to Equal. Exists is equivalent to wildcard
4072 for value, so that a pod can tolerate all taints of
4073 a particular category.
4076 description: TolerationSeconds represents the period
4077 of time the toleration (which must be of effect NoExecute,
4078 otherwise this field is ignored) tolerates the taint.
4079 By default, it is not set, which means tolerate the
4080 taint forever (do not evict). Zero and negative values
4081 will be treated as 0 (evict immediately) by the system.
4085 description: Value is the taint value the toleration
4086 matches to. If the operator is Exists, the value should
4087 be empty, otherwise just a regular string.
4093 description: replicas indicates how many replicas should be created
4094 for each KubeVirt infrastructure component (like virt-api or
4095 virt-controller). Defaults to 2.
4099 description: The name of the Prometheus service account that needs
4100 read-access to KubeVirt endpoints Defaults to prometheus-k8s
4103 description: The namespace Prometheus is deployed in Defaults to openshift-monitor
4106 description: Designate the apps.kubevirt.io/component label for KubeVirt
4107 components. Useful if KubeVirt is included as part of a product.
4108 If ProductComponent is not specified, the component label default
4112 description: Designate the apps.kubevirt.io/part-of label for KubeVirt
4113 components. Useful if KubeVirt is included as part of a product.
4114 If ProductName is not specified, the part-of label will be omitted.
4117 description: Designate the apps.kubevirt.io/version label for KubeVirt
4118 components. Useful if KubeVirt is included as part of a product.
4119 If ProductVersion is not specified, KubeVirt's version will be used.
4122 description: Specifies if kubevirt can be deleted if workloads are
4123 still present. This is mainly a precaution to avoid accidental data
4126 workloadUpdateStrategy:
4127 description: WorkloadUpdateStrategy defines at the cluster level how
4128 to handle automated workload updates
4130 batchEvictionInterval:
4131 description: "BatchEvictionInterval Represents the interval to
4132 wait before issuing the next batch of shutdowns \n Defaults
4136 description: "BatchEvictionSize Represents the number of VMIs
4137 that can be forced updated per the BatchShutdownInteral interval
4140 workloadUpdateMethods:
4141 description: "WorkloadUpdateMethods defines the methods that can
4142 be used to disrupt workloads during automated workload updates.
4143 When multiple methods are present, the least disruptive method
4144 takes precedence over more disruptive methods. For example if
4145 both LiveMigrate and Shutdown methods are listed, only VMs which
4146 are not live migratable will be restarted/shutdown \n An empty
4147 list defaults to no automated workload updating"
4151 x-kubernetes-list-type: atomic
4154 description: selectors and tolerations that should apply to KubeVirt
4158 description: nodePlacement describes scheduling configuration
4159 for specific KubeVirt components
4162 description: affinity enables pod affinity/anti-affinity placement
4163 expanding the types of constraints that can be expressed
4164 with nodeSelector. affinity is going to be applied to the
4165 relevant kind of pods in parallel with nodeSelector See
4166 https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
4169 description: Describes node affinity scheduling rules
4172 preferredDuringSchedulingIgnoredDuringExecution:
4173 description: The scheduler will prefer to schedule
4174 pods to nodes that satisfy the affinity expressions
4175 specified by this field, but it may choose a node
4176 that violates one or more of the expressions. The
4177 node that is most preferred is the one with the
4178 greatest sum of weights, i.e. for each node that
4179 meets all of the scheduling requirements (resource
4180 request, requiredDuringScheduling affinity expressions,
4181 etc.), compute a sum by iterating through the elements
4182 of this field and adding "weight" to the sum if
4183 the node matches the corresponding matchExpressions;
4184 the node(s) with the highest sum are the most preferred.
4186 description: An empty preferred scheduling term
4187 matches all objects with implicit weight 0 (i.e.
4188 it's a no-op). A null preferred scheduling term
4189 matches no objects (i.e. is also a no-op).
4192 description: A node selector term, associated
4193 with the corresponding weight.
4196 description: A list of node selector requirements
4199 description: A node selector requirement
4200 is a selector that contains values,
4201 a key, and an operator that relates
4205 description: The label key that the
4206 selector applies to.
4209 description: Represents a key's relationship
4210 to a set of values. Valid operators
4211 are In, NotIn, Exists, DoesNotExist.
4215 description: An array of string values.
4216 If the operator is In or NotIn,
4217 the values array must be non-empty.
4218 If the operator is Exists or DoesNotExist,
4219 the values array must be empty.
4220 If the operator is Gt or Lt, the
4221 values array must have a single
4222 element, which will be interpreted
4223 as an integer. This array is replaced
4224 during a strategic merge patch.
4234 description: A list of node selector requirements
4237 description: A node selector requirement
4238 is a selector that contains values,
4239 a key, and an operator that relates
4243 description: The label key that the
4244 selector applies to.
4247 description: Represents a key's relationship
4248 to a set of values. Valid operators
4249 are In, NotIn, Exists, DoesNotExist.
4253 description: An array of string values.
4254 If the operator is In or NotIn,
4255 the values array must be non-empty.
4256 If the operator is Exists or DoesNotExist,
4257 the values array must be empty.
4258 If the operator is Gt or Lt, the
4259 values array must have a single
4260 element, which will be interpreted
4261 as an integer. This array is replaced
4262 during a strategic merge patch.
4273 description: Weight associated with matching
4274 the corresponding nodeSelectorTerm, in the
4283 requiredDuringSchedulingIgnoredDuringExecution:
4284 description: If the affinity requirements specified
4285 by this field are not met at scheduling time, the
4286 pod will not be scheduled onto the node. If the
4287 affinity requirements specified by this field cease
4288 to be met at some point during pod execution (e.g.
4289 due to an update), the system may or may not try
4290 to eventually evict the pod from its node.
4293 description: Required. A list of node selector
4294 terms. The terms are ORed.
4296 description: A null or empty node selector term
4297 matches no objects. The requirements of them
4298 are ANDed. The TopologySelectorTerm type implements
4299 a subset of the NodeSelectorTerm.
4302 description: A list of node selector requirements
4305 description: A node selector requirement
4306 is a selector that contains values,
4307 a key, and an operator that relates
4311 description: The label key that the
4312 selector applies to.
4315 description: Represents a key's relationship
4316 to a set of values. Valid operators
4317 are In, NotIn, Exists, DoesNotExist.
4321 description: An array of string values.
4322 If the operator is In or NotIn,
4323 the values array must be non-empty.
4324 If the operator is Exists or DoesNotExist,
4325 the values array must be empty.
4326 If the operator is Gt or Lt, the
4327 values array must have a single
4328 element, which will be interpreted
4329 as an integer. This array is replaced
4330 during a strategic merge patch.
4340 description: A list of node selector requirements
4343 description: A node selector requirement
4344 is a selector that contains values,
4345 a key, and an operator that relates
4349 description: The label key that the
4350 selector applies to.
4353 description: Represents a key's relationship
4354 to a set of values. Valid operators
4355 are In, NotIn, Exists, DoesNotExist.
4359 description: An array of string values.
4360 If the operator is In or NotIn,
4361 the values array must be non-empty.
4362 If the operator is Exists or DoesNotExist,
4363 the values array must be empty.
4364 If the operator is Gt or Lt, the
4365 values array must have a single
4366 element, which will be interpreted
4367 as an integer. This array is replaced
4368 during a strategic merge patch.
4384 description: Describes pod affinity scheduling rules (e.g.
4385 co-locate this pod in the same node, zone, etc. as some
4388 preferredDuringSchedulingIgnoredDuringExecution:
4389 description: The scheduler will prefer to schedule
4390 pods to nodes that satisfy the affinity expressions
4391 specified by this field, but it may choose a node
4392 that violates one or more of the expressions. The
4393 node that is most preferred is the one with the
4394 greatest sum of weights, i.e. for each node that
4395 meets all of the scheduling requirements (resource
4396 request, requiredDuringScheduling affinity expressions,
4397 etc.), compute a sum by iterating through the elements
4398 of this field and adding "weight" to the sum if
4399 the node has pods which matches the corresponding
4400 podAffinityTerm; the node(s) with the highest sum
4401 are the most preferred.
4403 description: The weights of all of the matched WeightedPodAffinityTerm
4404 fields are added per-node to find the most preferred
4408 description: Required. A pod affinity term,
4409 associated with the corresponding weight.
4412 description: A label query over a set of
4413 resources, in this case pods.
4416 description: matchExpressions is a list
4417 of label selector requirements. The
4418 requirements are ANDed.
4420 description: A label selector requirement
4421 is a selector that contains values,
4422 a key, and an operator that relates
4426 description: key is the label
4427 key that the selector applies
4431 description: operator represents
4432 a key's relationship to a set
4433 of values. Valid operators are
4434 In, NotIn, Exists and DoesNotExist.
4437 description: values is an array
4438 of string values. If the operator
4439 is In or NotIn, the values array
4440 must be non-empty. If the operator
4441 is Exists or DoesNotExist, the
4442 values array must be empty.
4443 This array is replaced during
4444 a strategic merge patch.
4454 additionalProperties:
4456 description: matchLabels is a map of
4457 {key,value} pairs. A single {key,value}
4458 in the matchLabels map is equivalent
4459 to an element of matchExpressions,
4460 whose key field is "key", the operator
4461 is "In", and the values array contains
4462 only "value". The requirements are
4467 description: A label query over the set
4468 of namespaces that the term applies to.
4469 The term is applied to the union of the
4470 namespaces selected by this field and
4471 the ones listed in the namespaces field.
4472 null selector and null or empty namespaces
4473 list means "this pod's namespace". An
4474 empty selector ({}) matches all namespaces.
4475 This field is beta-level and is only honored
4476 when PodAffinityNamespaceSelector feature
4480 description: matchExpressions is a list
4481 of label selector requirements. The
4482 requirements are ANDed.
4484 description: A label selector requirement
4485 is a selector that contains values,
4486 a key, and an operator that relates
4490 description: key is the label
4491 key that the selector applies
4495 description: operator represents
4496 a key's relationship to a set
4497 of values. Valid operators are
4498 In, NotIn, Exists and DoesNotExist.
4501 description: values is an array
4502 of string values. If the operator
4503 is In or NotIn, the values array
4504 must be non-empty. If the operator
4505 is Exists or DoesNotExist, the
4506 values array must be empty.
4507 This array is replaced during
4508 a strategic merge patch.
4518 additionalProperties:
4520 description: matchLabels is a map of
4521 {key,value} pairs. A single {key,value}
4522 in the matchLabels map is equivalent
4523 to an element of matchExpressions,
4524 whose key field is "key", the operator
4525 is "In", and the values array contains
4526 only "value". The requirements are
4531 description: namespaces specifies a static
4532 list of namespace names that the term
4533 applies to. The term is applied to the
4534 union of the namespaces listed in this
4535 field and the ones selected by namespaceSelector.
4536 null or empty namespaces list and null
4537 namespaceSelector means "this pod's namespace"
4542 description: This pod should be co-located
4543 (affinity) or not co-located (anti-affinity)
4544 with the pods matching the labelSelector
4545 in the specified namespaces, where co-located
4546 is defined as running on a node whose
4547 value of the label with key topologyKey
4548 matches that of any node on which any
4549 of the selected pods is running. Empty
4550 topologyKey is not allowed.
4556 description: weight associated with matching
4557 the corresponding podAffinityTerm, in the
4566 requiredDuringSchedulingIgnoredDuringExecution:
4567 description: If the affinity requirements specified
4568 by this field are not met at scheduling time, the
4569 pod will not be scheduled onto the node. If the
4570 affinity requirements specified by this field cease
4571 to be met at some point during pod execution (e.g.
4572 due to a pod label update), the system may or may
4573 not try to eventually evict the pod from its node.
4574 When there are multiple elements, the lists of nodes
4575 corresponding to each podAffinityTerm are intersected,
4576 i.e. all terms must be satisfied.
4578 description: Defines a set of pods (namely those
4579 matching the labelSelector relative to the given
4580 namespace(s)) that this pod should be co-located
4581 (affinity) or not co-located (anti-affinity) with,
4582 where co-located is defined as running on a node
4583 whose value of the label with key <topologyKey>
4584 matches that of any node on which a pod of the
4585 set of pods is running
4588 description: A label query over a set of resources,
4592 description: matchExpressions is a list
4593 of label selector requirements. The requirements
4596 description: A label selector requirement
4597 is a selector that contains values,
4598 a key, and an operator that relates
4602 description: key is the label key
4603 that the selector applies to.
4606 description: operator represents a
4607 key's relationship to a set of values.
4608 Valid operators are In, NotIn, Exists
4612 description: values is an array of
4613 string values. If the operator is
4614 In or NotIn, the values array must
4615 be non-empty. If the operator is
4616 Exists or DoesNotExist, the values
4617 array must be empty. This array
4618 is replaced during a strategic merge
4629 additionalProperties:
4631 description: matchLabels is a map of {key,value}
4632 pairs. A single {key,value} in the matchLabels
4633 map is equivalent to an element of matchExpressions,
4634 whose key field is "key", the operator
4635 is "In", and the values array contains
4636 only "value". The requirements are ANDed.
4640 description: A label query over the set of namespaces
4641 that the term applies to. The term is applied
4642 to the union of the namespaces selected by
4643 this field and the ones listed in the namespaces
4644 field. null selector and null or empty namespaces
4645 list means "this pod's namespace". An empty
4646 selector ({}) matches all namespaces. This
4647 field is beta-level and is only honored when
4648 PodAffinityNamespaceSelector feature is enabled.
4651 description: matchExpressions is a list
4652 of label selector requirements. The requirements
4655 description: A label selector requirement
4656 is a selector that contains values,
4657 a key, and an operator that relates
4661 description: key is the label key
4662 that the selector applies to.
4665 description: operator represents a
4666 key's relationship to a set of values.
4667 Valid operators are In, NotIn, Exists
4671 description: values is an array of
4672 string values. If the operator is
4673 In or NotIn, the values array must
4674 be non-empty. If the operator is
4675 Exists or DoesNotExist, the values
4676 array must be empty. This array
4677 is replaced during a strategic merge
4688 additionalProperties:
4690 description: matchLabels is a map of {key,value}
4691 pairs. A single {key,value} in the matchLabels
4692 map is equivalent to an element of matchExpressions,
4693 whose key field is "key", the operator
4694 is "In", and the values array contains
4695 only "value". The requirements are ANDed.
4699 description: namespaces specifies a static list
4700 of namespace names that the term applies to.
4701 The term is applied to the union of the namespaces
4702 listed in this field and the ones selected
4703 by namespaceSelector. null or empty namespaces
4704 list and null namespaceSelector means "this
4710 description: This pod should be co-located (affinity)
4711 or not co-located (anti-affinity) with the
4712 pods matching the labelSelector in the specified
4713 namespaces, where co-located is defined as
4714 running on a node whose value of the label
4715 with key topologyKey matches that of any node
4716 on which any of the selected pods is running.
4717 Empty topologyKey is not allowed.
4725 description: Describes pod anti-affinity scheduling rules
4726 (e.g. avoid putting this pod in the same node, zone,
4727 etc. as some other pod(s)).
4729 preferredDuringSchedulingIgnoredDuringExecution:
4730 description: The scheduler will prefer to schedule
4731 pods to nodes that satisfy the anti-affinity expressions
4732 specified by this field, but it may choose a node
4733 that violates one or more of the expressions. The
4734 node that is most preferred is the one with the
4735 greatest sum of weights, i.e. for each node that
4736 meets all of the scheduling requirements (resource
4737 request, requiredDuringScheduling anti-affinity
4738 expressions, etc.), compute a sum by iterating through
4739 the elements of this field and adding "weight" to
4740 the sum if the node has pods which matches the corresponding
4741 podAffinityTerm; the node(s) with the highest sum
4742 are the most preferred.
4744 description: The weights of all of the matched WeightedPodAffinityTerm
4745 fields are added per-node to find the most preferred
4749 description: Required. A pod affinity term,
4750 associated with the corresponding weight.
4753 description: A label query over a set of
4754 resources, in this case pods.
4757 description: matchExpressions is a list
4758 of label selector requirements. The
4759 requirements are ANDed.
4761 description: A label selector requirement
4762 is a selector that contains values,
4763 a key, and an operator that relates
4767 description: key is the label
4768 key that the selector applies
4772 description: operator represents
4773 a key's relationship to a set
4774 of values. Valid operators are
4775 In, NotIn, Exists and DoesNotExist.
4778 description: values is an array
4779 of string values. If the operator
4780 is In or NotIn, the values array
4781 must be non-empty. If the operator
4782 is Exists or DoesNotExist, the
4783 values array must be empty.
4784 This array is replaced during
4785 a strategic merge patch.
4795 additionalProperties:
4797 description: matchLabels is a map of
4798 {key,value} pairs. A single {key,value}
4799 in the matchLabels map is equivalent
4800 to an element of matchExpressions,
4801 whose key field is "key", the operator
4802 is "In", and the values array contains
4803 only "value". The requirements are
4808 description: A label query over the set
4809 of namespaces that the term applies to.
4810 The term is applied to the union of the
4811 namespaces selected by this field and
4812 the ones listed in the namespaces field.
4813 null selector and null or empty namespaces
4814 list means "this pod's namespace". An
4815 empty selector ({}) matches all namespaces.
4816 This field is beta-level and is only honored
4817 when PodAffinityNamespaceSelector feature
4821 description: matchExpressions is a list
4822 of label selector requirements. The
4823 requirements are ANDed.
4825 description: A label selector requirement
4826 is a selector that contains values,
4827 a key, and an operator that relates
4831 description: key is the label
4832 key that the selector applies
4836 description: operator represents
4837 a key's relationship to a set
4838 of values. Valid operators are
4839 In, NotIn, Exists and DoesNotExist.
4842 description: values is an array
4843 of string values. If the operator
4844 is In or NotIn, the values array
4845 must be non-empty. If the operator
4846 is Exists or DoesNotExist, the
4847 values array must be empty.
4848 This array is replaced during
4849 a strategic merge patch.
4859 additionalProperties:
4861 description: matchLabels is a map of
4862 {key,value} pairs. A single {key,value}
4863 in the matchLabels map is equivalent
4864 to an element of matchExpressions,
4865 whose key field is "key", the operator
4866 is "In", and the values array contains
4867 only "value". The requirements are
4872 description: namespaces specifies a static
4873 list of namespace names that the term
4874 applies to. The term is applied to the
4875 union of the namespaces listed in this
4876 field and the ones selected by namespaceSelector.
4877 null or empty namespaces list and null
4878 namespaceSelector means "this pod's namespace"
4883 description: This pod should be co-located
4884 (affinity) or not co-located (anti-affinity)
4885 with the pods matching the labelSelector
4886 in the specified namespaces, where co-located
4887 is defined as running on a node whose
4888 value of the label with key topologyKey
4889 matches that of any node on which any
4890 of the selected pods is running. Empty
4891 topologyKey is not allowed.
4897 description: weight associated with matching
4898 the corresponding podAffinityTerm, in the
4907 requiredDuringSchedulingIgnoredDuringExecution:
4908 description: If the anti-affinity requirements specified
4909 by this field are not met at scheduling time, the
4910 pod will not be scheduled onto the node. If the
4911 anti-affinity requirements specified by this field
4912 cease to be met at some point during pod execution
4913 (e.g. due to a pod label update), the system may
4914 or may not try to eventually evict the pod from
4915 its node. When there are multiple elements, the
4916 lists of nodes corresponding to each podAffinityTerm
4917 are intersected, i.e. all terms must be satisfied.
4919 description: Defines a set of pods (namely those
4920 matching the labelSelector relative to the given
4921 namespace(s)) that this pod should be co-located
4922 (affinity) or not co-located (anti-affinity) with,
4923 where co-located is defined as running on a node
4924 whose value of the label with key <topologyKey>
4925 matches that of any node on which a pod of the
4926 set of pods is running
4929 description: A label query over a set of resources,
4933 description: matchExpressions is a list
4934 of label selector requirements. The requirements
4937 description: A label selector requirement
4938 is a selector that contains values,
4939 a key, and an operator that relates
4943 description: key is the label key
4944 that the selector applies to.
4947 description: operator represents a
4948 key's relationship to a set of values.
4949 Valid operators are In, NotIn, Exists
4953 description: values is an array of
4954 string values. If the operator is
4955 In or NotIn, the values array must
4956 be non-empty. If the operator is
4957 Exists or DoesNotExist, the values
4958 array must be empty. This array
4959 is replaced during a strategic merge
4970 additionalProperties:
4972 description: matchLabels is a map of {key,value}
4973 pairs. A single {key,value} in the matchLabels
4974 map is equivalent to an element of matchExpressions,
4975 whose key field is "key", the operator
4976 is "In", and the values array contains
4977 only "value". The requirements are ANDed.
4981 description: A label query over the set of namespaces
4982 that the term applies to. The term is applied
4983 to the union of the namespaces selected by
4984 this field and the ones listed in the namespaces
4985 field. null selector and null or empty namespaces
4986 list means "this pod's namespace". An empty
4987 selector ({}) matches all namespaces. This
4988 field is beta-level and is only honored when
4989 PodAffinityNamespaceSelector feature is enabled.
4992 description: matchExpressions is a list
4993 of label selector requirements. The requirements
4996 description: A label selector requirement
4997 is a selector that contains values,
4998 a key, and an operator that relates
5002 description: key is the label key
5003 that the selector applies to.
5006 description: operator represents a
5007 key's relationship to a set of values.
5008 Valid operators are In, NotIn, Exists
5012 description: values is an array of
5013 string values. If the operator is
5014 In or NotIn, the values array must
5015 be non-empty. If the operator is
5016 Exists or DoesNotExist, the values
5017 array must be empty. This array
5018 is replaced during a strategic merge
5029 additionalProperties:
5031 description: matchLabels is a map of {key,value}
5032 pairs. A single {key,value} in the matchLabels
5033 map is equivalent to an element of matchExpressions,
5034 whose key field is "key", the operator
5035 is "In", and the values array contains
5036 only "value". The requirements are ANDed.
5040 description: namespaces specifies a static list
5041 of namespace names that the term applies to.
5042 The term is applied to the union of the namespaces
5043 listed in this field and the ones selected
5044 by namespaceSelector. null or empty namespaces
5045 list and null namespaceSelector means "this
5051 description: This pod should be co-located (affinity)
5052 or not co-located (anti-affinity) with the
5053 pods matching the labelSelector in the specified
5054 namespaces, where co-located is defined as
5055 running on a node whose value of the label
5056 with key topologyKey matches that of any node
5057 on which any of the selected pods is running.
5058 Empty topologyKey is not allowed.
5067 additionalProperties:
5069 description: 'nodeSelector is the node selector applied to
5070 the relevant kind of pods It specifies a map of key-value
5071 pairs: for the pod to be eligible to run on a node, the
5072 node must have each of the indicated key-value pairs as
5073 labels (it can have additional labels as well). See https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector'
5076 description: tolerations is a list of tolerations applied
5077 to the relevant kind of pods See https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
5078 for more info. These are additional tolerations other than
5081 description: The pod this Toleration is attached to tolerates
5082 any taint that matches the triple <key,value,effect> using
5083 the matching operator <operator>.
5086 description: Effect indicates the taint effect to match.
5087 Empty means match all taint effects. When specified,
5088 allowed values are NoSchedule, PreferNoSchedule and
5092 description: Key is the taint key that the toleration
5093 applies to. Empty means match all taint keys. If the
5094 key is empty, operator must be Exists; this combination
5095 means to match all values and all keys.
5098 description: Operator represents a key's relationship
5099 to the value. Valid operators are Exists and Equal.
5100 Defaults to Equal. Exists is equivalent to wildcard
5101 for value, so that a pod can tolerate all taints of
5102 a particular category.
5105 description: TolerationSeconds represents the period
5106 of time the toleration (which must be of effect NoExecute,
5107 otherwise this field is ignored) tolerates the taint.
5108 By default, it is not set, which means tolerate the
5109 taint forever (do not evict). Zero and negative values
5110 will be treated as 0 (evict immediately) by the system.
5114 description: Value is the taint value the toleration
5115 matches to. If the operator is Exists, the value should
5116 be empty, otherwise just a regular string.
5122 description: replicas indicates how many replicas should be created
5123 for each KubeVirt infrastructure component (like virt-api or
5124 virt-controller). Defaults to 2.
5129 description: KubeVirtStatus represents information pertaining to a KubeVirt
5134 description: KubeVirtCondition represents a condition of a KubeVirt
5160 description: GenerationStatus keeps track of the generation for
5161 a given resource so that decisions about forced updates can be
5165 description: group is the group of the thing you're tracking
5168 description: hash is an optional field set for resources without
5169 generation that are content sensitive like secrets and configmaps
5172 description: lastGeneration is the last generation of the workload
5177 description: name is the name of the thing you're tracking
5180 description: namespace is where the thing you're tracking is
5183 description: resource is the resource type of the thing you're
5193 x-kubernetes-list-type: atomic
5194 observedDeploymentConfig:
5196 observedDeploymentID:
5198 observedKubeVirtRegistry:
5200 observedKubeVirtVersion:
5204 outdatedVirtualMachineInstanceWorkloads:
5207 description: KubeVirtPhase is a label for the phase of a KubeVirt
5208 deployment at the current time.
5210 targetDeploymentConfig:
5214 targetKubeVirtRegistry:
5216 targetKubeVirtVersion:
5228 apiVersion: scheduling.k8s.io/v1
5231 name: kubevirt-cluster-critical
5233 globalDefault: false
5234 description: "This priority class should be used for core kubevirt components only."
5236 apiVersion: rbac.authorization.k8s.io/v1
5239 name: kubevirt.io:operator
5241 operator.kubevirt.io: ""
5242 rbac.authorization.k8s.io/aggregate-to-admin: "true"
5259 kind: ServiceAccount
5263 name: kubevirt-operator
5266 apiVersion: rbac.authorization.k8s.io/v1
5271 name: kubevirt-operator
5297 apiVersion: rbac.authorization.k8s.io/v1
5302 name: kubevirt-operator-rolebinding
5305 apiGroup: rbac.authorization.k8s.io
5307 name: kubevirt-operator
5309 - kind: ServiceAccount
5310 name: kubevirt-operator
5313 apiVersion: rbac.authorization.k8s.io/v1
5318 name: kubevirt-operator
5367 - controllerrevisions
5387 - rbac.authorization.k8s.io
5390 - clusterrolebindings
5402 - apiextensions.k8s.io
5404 - customresourcedefinitions
5413 - security.openshift.io
5415 - securitycontextconstraints
5422 - security.openshift.io
5426 - securitycontextconstraints
5432 - security.openshift.io
5435 - kubevirt-controller
5437 - securitycontextconstraints
5445 - admissionregistration.k8s.io
5447 - validatingwebhookconfigurations
5448 - mutatingwebhookconfigurations
5458 - apiregistration.k8s.io
5470 - monitoring.coreos.com
5483 - subresources.kubevirt.io
5485 - virtualmachineinstances/pause
5486 - virtualmachineinstances/unpause
5487 - virtualmachineinstances/addvolume
5488 - virtualmachineinstances/removevolume
5489 - virtualmachineinstances/freeze
5490 - virtualmachineinstances/unfreeze
5491 - virtualmachineinstances/softreboot
5517 - virtualmachineinstances
5527 - virtualmachines/status
5533 - virtualmachineinstancemigrations
5543 - virtualmachineinstancepresets
5563 - apiextensions.k8s.io
5565 - customresourcedefinitions
5579 - snapshot.kubevirt.io
5581 - virtualmachinesnapshots
5582 - virtualmachinerestores
5596 - flavor.kubevirt.io
5598 - virtualmachineflavors
5599 - virtualmachineclusterflavors
5604 - migrations.kubevirt.io
5622 - poddisruptionbudgets
5688 - controllerrevisions
5697 - persistentvolumeclaims
5707 - snapshot.kubevirt.io
5715 - virtualmachinepools
5716 - virtualmachinepools/finalizers
5732 - subresources.kubevirt.io
5734 - virtualmachineinstances/addvolume
5735 - virtualmachineinstances/removevolume
5736 - virtualmachineinstances/freeze
5737 - virtualmachineinstances/unfreeze
5738 - virtualmachineinstances/softreboot
5750 - network-attachment-definitions
5756 - apiextensions.k8s.io
5758 - customresourcedefinitions
5764 - authorization.k8s.io
5766 - subjectaccessreviews
5770 - snapshot.storage.k8s.io
5772 - volumesnapshotclasses
5778 - snapshot.storage.k8s.io
5797 - flavor.kubevirt.io
5799 - virtualmachineflavors
5800 - virtualmachineclusterflavors
5805 - migrations.kubevirt.io
5821 - virtualmachineinstances
5851 - apiextensions.k8s.io
5853 - customresourcedefinitions
5867 - migrations.kubevirt.io
5883 - subresources.kubevirt.io
5890 - subresources.kubevirt.io
5892 - virtualmachineinstances/console
5893 - virtualmachineinstances/vnc
5894 - virtualmachineinstances/guestosinfo
5895 - virtualmachineinstances/filesystemlist
5896 - virtualmachineinstances/userlist
5900 - subresources.kubevirt.io
5902 - virtualmachineinstances/pause
5903 - virtualmachineinstances/unpause
5904 - virtualmachineinstances/addvolume
5905 - virtualmachineinstances/removevolume
5906 - virtualmachineinstances/freeze
5907 - virtualmachineinstances/unfreeze
5908 - virtualmachineinstances/softreboot
5912 - subresources.kubevirt.io
5914 - virtualmachines/start
5915 - virtualmachines/stop
5916 - virtualmachines/restart
5923 - virtualmachineinstances
5924 - virtualmachineinstancepresets
5925 - virtualmachineinstancereplicasets
5926 - virtualmachineinstancemigrations
5937 - snapshot.kubevirt.io
5939 - virtualmachinesnapshots
5940 - virtualmachinesnapshotcontents
5941 - virtualmachinerestores
5952 - flavor.kubevirt.io
5954 - virtualmachineflavors
5955 - virtualmachineclusterflavors
5968 - virtualmachinepools
5979 - migrations.kubevirt.io
5987 - subresources.kubevirt.io
5989 - virtualmachineinstances/console
5990 - virtualmachineinstances/vnc
5991 - virtualmachineinstances/guestosinfo
5992 - virtualmachineinstances/filesystemlist
5993 - virtualmachineinstances/userlist
5997 - subresources.kubevirt.io
5999 - virtualmachineinstances/pause
6000 - virtualmachineinstances/unpause
6001 - virtualmachineinstances/addvolume
6002 - virtualmachineinstances/removevolume
6003 - virtualmachineinstances/freeze
6004 - virtualmachineinstances/unfreeze
6005 - virtualmachineinstances/softreboot
6009 - subresources.kubevirt.io
6011 - virtualmachines/start
6012 - virtualmachines/stop
6013 - virtualmachines/restart
6020 - virtualmachineinstances
6021 - virtualmachineinstancepresets
6022 - virtualmachineinstancereplicasets
6023 - virtualmachineinstancemigrations
6033 - snapshot.kubevirt.io
6035 - virtualmachinesnapshots
6036 - virtualmachinesnapshotcontents
6037 - virtualmachinerestores
6047 - flavor.kubevirt.io
6049 - virtualmachineflavors
6050 - virtualmachineclusterflavors
6062 - virtualmachinepools
6079 - migrations.kubevirt.io
6087 - subresources.kubevirt.io
6089 - virtualmachineinstances/guestosinfo
6090 - virtualmachineinstances/filesystemlist
6091 - virtualmachineinstances/userlist
6098 - virtualmachineinstances
6099 - virtualmachineinstancepresets
6100 - virtualmachineinstancereplicasets
6101 - virtualmachineinstancemigrations
6107 - snapshot.kubevirt.io
6109 - virtualmachinesnapshots
6110 - virtualmachinesnapshotcontents
6111 - virtualmachinerestores
6117 - flavor.kubevirt.io
6119 - virtualmachineflavors
6120 - virtualmachineclusterflavors
6128 - virtualmachinepools
6134 - migrations.kubevirt.io
6142 - authentication.k8s.io
6148 - authorization.k8s.io
6150 - subjectaccessreviews
6154 apiVersion: rbac.authorization.k8s.io/v1
6155 kind: ClusterRoleBinding
6159 name: kubevirt-operator
6161 apiGroup: rbac.authorization.k8s.io
6163 name: kubevirt-operator
6165 - kind: ServiceAccount
6166 name: kubevirt-operator
6174 kubevirt.io: virt-operator
6181 kubevirt.io: virt-operator
6187 kubevirt.io: virt-operator
6188 prometheus.kubevirt.io: "true"
6193 preferredDuringSchedulingIgnoredDuringExecution:
6201 topologyKey: kubernetes.io/hostname
6211 - name: OPERATOR_IMAGE
6212 value: quay.io/kubevirt/virt-operator:v0.50.0
6213 - name: WATCH_NAMESPACE
6216 fieldPath: metadata.annotations['olm.targetNamespaces']
6217 image: quay.io/kubevirt/virt-operator:v0.50.0
6218 imagePullPolicy: IfNotPresent
6221 - containerPort: 8443
6224 - containerPort: 8444
6232 initialDelaySeconds: 5
6239 - mountPath: /etc/virt-operator/certificates
6240 name: kubevirt-operator-certs
6242 - mountPath: /profile-data
6244 priorityClassName: kubevirt-cluster-critical
6247 serviceAccountName: kubevirt-operator
6249 - key: CriticalAddonsOnly
6252 - name: kubevirt-operator-certs
6255 secretName: kubevirt-operator-certs