JobSchedulingConfiguration

io.k8s.api.batch.v1.JobSchedulingConfiguration source ↗

JobSchedulingConfiguration composes the reusable workload-aware scheduling building blocks.

disruptionModeWorkloadPodGroupDisruptionModeDisruptionMode defines the mode in which the Job's pods can be disrupted. One of Single, All. This field is immutable after creation: it may not be added or removed, and the selected mode may not be changed.
allWorkloadPodGroupAllDisruptionModeall specifies that all pods in the group must be disrupted together.
singleWorkloadPodGroupSingleDisruptionModesingle specifies that pods can be disrupted independently from each other.
resourceClaims[]WorkloadPodGroupResourceClaimResourceClaims defines which ResourceClaims may be shared among Pods in the Job. Pods consume the devices allocated to a PodGroup's claim by defining a claim in its own Spec.ResourceClaims that matches the PodGroup's claim exactly. The claim must have the same name and refer to the same ResourceClaim or ResourceClaimTemplate. At most 4 claims may be set, matching the limit on the resulting PodGroup. This list is immutable after creation: entries may neither be added, removed, nor modified.
namestring requiredname uniquely identifies this resource claim inside the group. This field is required. It must be a DNS_LABEL.
resourceClaimNamestringresourceClaimName is the name of a ResourceClaim object in the same namespace. This field is optional. If it is not specified, no resource claim is used. If set, it must be a DNS subdomain.
resourceClaimTemplateNamestringresourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace. This field is optional. If it is not specified, no resource claim template is used. If set, it must be a DNS subdomain.
schedulingConstraintsWorkloadPodGroupSchedulingConstraintsSchedulingConstraints defines scheduling constraints (e.g. topology) for the Job's pods. This field is immutable after creation.
topology[]TopologyConstrainttopology specifies desired topological placements for all pods within the pod group. If unset, no topology placement is requested.
keystring requiredkey specifies the key of the node label representing the topology domain. All pods within the PodGroup must be colocated within the same domain instance. Different PodGroups can land on different domain instances even if they derive from the same PodGroupTemplate. Examples: "topology.kubernetes.io/rack"
schedulingPolicyWorkloadPodGroupSchedulingPolicySchedulingPolicy defines the scheduling policy for this Job. Exactly one of Basic or Gang must be set. This field is immutable after creation: the policy may not be added or removed. The policy variant (basic/gang) is frozen by hand-written validation; only schedulingPolicy.gang.minCount may be changed.
basicWorkloadPodGroupBasicSchedulingPolicybasic specifies that standard, pod-by-pod Kubernetes scheduling behavior should be used.
gangWorkloadPodGroupGangSchedulingPolicygang specifies all-or-nothing scheduling semantics.
minCountinteger (int32)minCount is the minimum number of pods that must be scheduled at the same time for the scheduler to admit the entire group. This field is optional. If it is not specified, the controller should inject a context-specific sane default (e.g., parallelism for a Job). If set, it must be a positive integer.