modules/management/kubectl-apply/manifests/jobset-v0.7.2.yaml [6103:6498]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                        seLinuxOptions:
                                          description: |-
                                            The SELinux context to be applied to all containers.
                                            If unspecified, the container runtime will allocate a random SELinux context for each
                                            container.  May also be set in SecurityContext.  If set in
                                            both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                            takes precedence for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            level:
                                              description: Level is SELinux level label that applies to the container.
                                              type: string
                                            role:
                                              description: Role is a SELinux role label that applies to the container.
                                              type: string
                                            type:
                                              description: Type is a SELinux type label that applies to the container.
                                              type: string
                                            user:
                                              description: User is a SELinux user label that applies to the container.
                                              type: string
                                          type: object
                                        seccompProfile:
                                          description: |-
                                            The seccomp options to use by the containers in this pod.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            localhostProfile:
                                              description: |-
                                                localhostProfile indicates a profile defined in a file on the node should be used.
                                                The profile must be preconfigured on the node to work.
                                                Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                Must be set if type is "Localhost". Must NOT be set for any other type.
                                              type: string
                                            type:
                                              description: |-
                                                type indicates which kind of seccomp profile will be applied.
                                                Valid options are:

                                                Localhost - a profile defined in a file on the node should be used.
                                                RuntimeDefault - the container runtime default profile should be used.
                                                Unconfined - no profile should be applied.
                                              type: string
                                          required:
                                          - type
                                          type: object
                                        supplementalGroups:
                                          description: |-
                                            A list of groups applied to the first process run in each container, in
                                            addition to the container's primary GID and fsGroup (if specified).  If
                                            the SupplementalGroupsPolicy feature is enabled, the
                                            supplementalGroupsPolicy field determines whether these are in addition
                                            to or instead of any group memberships defined in the container image.
                                            If unspecified, no additional groups are added, though group memberships
                                            defined in the container image may still be used, depending on the
                                            supplementalGroupsPolicy field.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            format: int64
                                            type: integer
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        supplementalGroupsPolicy:
                                          description: |-
                                            Defines how supplemental groups of the first container processes are calculated.
                                            Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
                                            (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
                                            and the container runtime must implement support for this feature.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          type: string
                                        sysctls:
                                          description: |-
                                            Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                            sysctls (by the container runtime) might fail to launch.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            description: Sysctl defines a kernel parameter to be set
                                            properties:
                                              name:
                                                description: Name of a property to set
                                                type: string
                                              value:
                                                description: Value of a property to set
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        windowsOptions:
                                          description: |-
                                            The Windows specific settings applied to all containers.
                                            If unspecified, the options within a container's SecurityContext will be used.
                                            If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
                                            Note that this field cannot be set when spec.os.name is linux.
                                          properties:
                                            gmsaCredentialSpec:
                                              description: |-
                                                GMSACredentialSpec is where the GMSA admission webhook
                                                (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
                                                GMSA credential spec named by the GMSACredentialSpecName field.
                                              type: string
                                            gmsaCredentialSpecName:
                                              description: GMSACredentialSpecName is the name of the GMSA credential spec to use.
                                              type: string
                                            hostProcess:
                                              description: |-
                                                HostProcess determines if a container should be run as a 'Host Process' container.
                                                All of a Pod's containers must have the same effective HostProcess value
                                                (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
                                                In addition, if HostProcess is true then HostNetwork must also be set to true.
                                              type: boolean
                                            runAsUserName:
                                              description: |-
                                                The UserName in Windows to run the entrypoint of the container process.
                                                Defaults to the user specified in image metadata if unspecified.
                                                May also be set in PodSecurityContext. If set in both SecurityContext and
                                                PodSecurityContext, the value specified in SecurityContext takes precedence.
                                              type: string
                                          type: object
                                      type: object
                                    serviceAccount:
                                      description: |-
                                        DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.
                                        Deprecated: Use serviceAccountName instead.
                                      type: string
                                    serviceAccountName:
                                      description: |-
                                        ServiceAccountName is the name of the ServiceAccount to use to run this pod.
                                        More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
                                      type: string
                                    setHostnameAsFQDN:
                                      description: |-
                                        If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
                                        In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
                                        In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
                                        If a pod does not have FQDN, this has no effect.
                                        Default to false.
                                      type: boolean
                                    shareProcessNamespace:
                                      description: |-
                                        Share a single process namespace between all of the containers in a pod.
                                        When this is set containers will be able to view and signal processes from other containers
                                        in the same pod, and the first process in each container will not be assigned PID 1.
                                        HostPID and ShareProcessNamespace cannot both be set.
                                        Optional: Default to false.
                                      type: boolean
                                    subdomain:
                                      description: |-
                                        If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
                                        If not specified, the pod will not have a domainname at all.
                                      type: string
                                    terminationGracePeriodSeconds:
                                      description: |-
                                        Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
                                        Value must be non-negative integer. The value zero indicates stop immediately via
                                        the kill signal (no opportunity to shut down).
                                        If this value is nil, the default grace period will be used instead.
                                        The grace period is the duration in seconds after the processes running in the pod are sent
                                        a termination signal and the time when the processes are forcibly halted with a kill signal.
                                        Set this value longer than the expected cleanup time for your process.
                                        Defaults to 30 seconds.
                                      format: int64
                                      type: integer
                                    tolerations:
                                      description: If specified, the pod's tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    topologySpreadConstraints:
                                      description: |-
                                        TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                        domains. Scheduler will schedule pods in a way which abides by the constraints.
                                        All topologySpreadConstraints are ANDed.
                                      items:
                                        description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
                                        properties:
                                          labelSelector:
                                            description: |-
                                              LabelSelector is used to find matching pods.
                                              Pods that match this label selector are counted to determine the number of pods
                                              in their corresponding topology domain.
                                            properties:
                                              matchExpressions:
                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                items:
                                                  description: |-
                                                    A label selector requirement is a selector that contains values, a key, and an operator that
                                                    relates the key and values.
                                                  properties:
                                                    key:
                                                      description: key is the label key that the selector applies to.
                                                      type: string
                                                    operator:
                                                      description: |-
                                                        operator represents a key's relationship to a set of values.
                                                        Valid operators are In, NotIn, Exists and DoesNotExist.
                                                      type: string
                                                    values:
                                                      description: |-
                                                        values is an array of string values. If the operator is In or NotIn,
                                                        the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                        the values array must be empty. This array is replaced during a strategic
                                                        merge patch.
                                                      items:
                                                        type: string
                                                      type: array
                                                      x-kubernetes-list-type: atomic
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                description: |-
                                                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                  map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                  operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                type: object
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          matchLabelKeys:
                                            description: |-
                                              MatchLabelKeys is a set of pod label keys to select the pods over which
                                              spreading will be calculated. The keys are used to lookup values from the
                                              incoming pod labels, those key-value labels are ANDed with labelSelector
                                              to select the group of existing pods over which spreading will be calculated
                                              for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                              MatchLabelKeys cannot be set when LabelSelector isn't set.
                                              Keys that don't exist in the incoming pod labels will
                                              be ignored. A null or empty list means only match against labelSelector.

                                              This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          maxSkew:
                                            description: |-
                                              MaxSkew describes the degree to which pods may be unevenly distributed.
                                              When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                              between the number of matching pods in the target topology and the global minimum.
                                              The global minimum is the minimum number of matching pods in an eligible domain
                                              or zero if the number of eligible domains is less than MinDomains.
                                              For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                              labelSelector spread as 2/2/1:
                                              In this case, the global minimum is 1.
                                              | zone1 | zone2 | zone3 |
                                              |  P P  |  P P  |   P   |
                                              - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                              scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                              violate MaxSkew(1).
                                              - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                              When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                              to topologies that satisfy it.
                                              It's a required field. Default value is 1 and 0 is not allowed.
                                            format: int32
                                            type: integer
                                          minDomains:
                                            description: |-
                                              MinDomains indicates a minimum number of eligible domains.
                                              When the number of eligible domains with matching topology keys is less than minDomains,
                                              Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                              And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                              this value has no effect on scheduling.
                                              As a result, when the number of eligible domains is less than minDomains,
                                              scheduler won't schedule more than maxSkew Pods to those domains.
                                              If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                              Valid values are integers greater than 0.
                                              When value is not nil, WhenUnsatisfiable must be DoNotSchedule.

                                              For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                              labelSelector spread as 2/2/2:
                                              | zone1 | zone2 | zone3 |
                                              |  P P  |  P P  |  P P  |
                                              The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                              In this situation, new pod with the same labelSelector cannot be scheduled,
                                              because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                              it will violate MaxSkew.
                                            format: int32
                                            type: integer
                                          nodeAffinityPolicy:
                                            description: |-
                                              NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                              when calculating pod topology spread skew. Options are:
                                              - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                              - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.

                                              If this value is nil, the behavior is equivalent to the Honor policy.
                                              This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                            type: string
                                          nodeTaintsPolicy:
                                            description: |-
                                              NodeTaintsPolicy indicates how we will treat node taints when calculating
                                              pod topology spread skew. Options are:
                                              - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                              has a toleration, are included.
                                              - Ignore: node taints are ignored. All nodes are included.

                                              If this value is nil, the behavior is equivalent to the Ignore policy.
                                              This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                            type: string
                                          topologyKey:
                                            description: |-
                                              TopologyKey is the key of node labels. Nodes that have a label with this key
                                              and identical values are considered to be in the same topology.
                                              We consider each <key, value> as a "bucket", and try to put balanced number
                                              of pods into each bucket.
                                              We define a domain as a particular instance of a topology.
                                              Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                              nodeAffinityPolicy and nodeTaintsPolicy.
                                              e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                              And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                              It's a required field.
                                            type: string
                                          whenUnsatisfiable:
                                            description: |-
                                              WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                              the spread constraint.
                                              - DoNotSchedule (default) tells the scheduler not to schedule it.
                                              - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                                but giving higher precedence to topologies that would help reduce the
                                                skew.
                                              A constraint is considered "Unsatisfiable" for an incoming pod
                                              if and only if every possible node assignment for that pod would violate
                                              "MaxSkew" on some topology.
                                              For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                              labelSelector spread as 3/1/1:
                                              | zone1 | zone2 | zone3 |
                                              | P P P |   P   |   P   |
                                              If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                              to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                              MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                              won't make it *more* imbalanced.
                                              It's a required field.
                                            type: string
                                        required:
                                        - maxSkew
                                        - topologyKey
                                        - whenUnsatisfiable
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                      - topologyKey
                                      - whenUnsatisfiable
                                      x-kubernetes-list-type: map
                                    volumes:
                                      description: |-
                                        List of volumes that can be mounted by containers belonging to the pod.
                                        More info: https://kubernetes.io/docs/concepts/storage/volumes
                                      items:
                                        description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
                                        properties:
                                          awsElasticBlockStore:
                                            description: |-
                                              awsElasticBlockStore represents an AWS Disk resource that is attached to a
                                              kubelet's host machine and then exposed to the pod.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



modules/management/kubectl-apply/manifests/jobset-v0.8.1.yaml [6235:6630]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                        seLinuxOptions:
                                          description: |-
                                            The SELinux context to be applied to all containers.
                                            If unspecified, the container runtime will allocate a random SELinux context for each
                                            container.  May also be set in SecurityContext.  If set in
                                            both SecurityContext and PodSecurityContext, the value specified in SecurityContext
                                            takes precedence for that container.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            level:
                                              description: Level is SELinux level label that applies to the container.
                                              type: string
                                            role:
                                              description: Role is a SELinux role label that applies to the container.
                                              type: string
                                            type:
                                              description: Type is a SELinux type label that applies to the container.
                                              type: string
                                            user:
                                              description: User is a SELinux user label that applies to the container.
                                              type: string
                                          type: object
                                        seccompProfile:
                                          description: |-
                                            The seccomp options to use by the containers in this pod.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          properties:
                                            localhostProfile:
                                              description: |-
                                                localhostProfile indicates a profile defined in a file on the node should be used.
                                                The profile must be preconfigured on the node to work.
                                                Must be a descending path, relative to the kubelet's configured seccomp profile location.
                                                Must be set if type is "Localhost". Must NOT be set for any other type.
                                              type: string
                                            type:
                                              description: |-
                                                type indicates which kind of seccomp profile will be applied.
                                                Valid options are:

                                                Localhost - a profile defined in a file on the node should be used.
                                                RuntimeDefault - the container runtime default profile should be used.
                                                Unconfined - no profile should be applied.
                                              type: string
                                          required:
                                          - type
                                          type: object
                                        supplementalGroups:
                                          description: |-
                                            A list of groups applied to the first process run in each container, in
                                            addition to the container's primary GID and fsGroup (if specified).  If
                                            the SupplementalGroupsPolicy feature is enabled, the
                                            supplementalGroupsPolicy field determines whether these are in addition
                                            to or instead of any group memberships defined in the container image.
                                            If unspecified, no additional groups are added, though group memberships
                                            defined in the container image may still be used, depending on the
                                            supplementalGroupsPolicy field.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            format: int64
                                            type: integer
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        supplementalGroupsPolicy:
                                          description: |-
                                            Defines how supplemental groups of the first container processes are calculated.
                                            Valid values are "Merge" and "Strict". If not specified, "Merge" is used.
                                            (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled
                                            and the container runtime must implement support for this feature.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          type: string
                                        sysctls:
                                          description: |-
                                            Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
                                            sysctls (by the container runtime) might fail to launch.
                                            Note that this field cannot be set when spec.os.name is windows.
                                          items:
                                            description: Sysctl defines a kernel parameter to be set
                                            properties:
                                              name:
                                                description: Name of a property to set
                                                type: string
                                              value:
                                                description: Value of a property to set
                                                type: string
                                            required:
                                            - name
                                            - value
                                            type: object
                                          type: array
                                          x-kubernetes-list-type: atomic
                                        windowsOptions:
                                          description: |-
                                            The Windows specific settings applied to all containers.
                                            If unspecified, the options within a container's SecurityContext will be used.
                                            If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
                                            Note that this field cannot be set when spec.os.name is linux.
                                          properties:
                                            gmsaCredentialSpec:
                                              description: |-
                                                GMSACredentialSpec is where the GMSA admission webhook
                                                (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
                                                GMSA credential spec named by the GMSACredentialSpecName field.
                                              type: string
                                            gmsaCredentialSpecName:
                                              description: GMSACredentialSpecName is the name of the GMSA credential spec to use.
                                              type: string
                                            hostProcess:
                                              description: |-
                                                HostProcess determines if a container should be run as a 'Host Process' container.
                                                All of a Pod's containers must have the same effective HostProcess value
                                                (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
                                                In addition, if HostProcess is true then HostNetwork must also be set to true.
                                              type: boolean
                                            runAsUserName:
                                              description: |-
                                                The UserName in Windows to run the entrypoint of the container process.
                                                Defaults to the user specified in image metadata if unspecified.
                                                May also be set in PodSecurityContext. If set in both SecurityContext and
                                                PodSecurityContext, the value specified in SecurityContext takes precedence.
                                              type: string
                                          type: object
                                      type: object
                                    serviceAccount:
                                      description: |-
                                        DeprecatedServiceAccount is a deprecated alias for ServiceAccountName.
                                        Deprecated: Use serviceAccountName instead.
                                      type: string
                                    serviceAccountName:
                                      description: |-
                                        ServiceAccountName is the name of the ServiceAccount to use to run this pod.
                                        More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
                                      type: string
                                    setHostnameAsFQDN:
                                      description: |-
                                        If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
                                        In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
                                        In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
                                        If a pod does not have FQDN, this has no effect.
                                        Default to false.
                                      type: boolean
                                    shareProcessNamespace:
                                      description: |-
                                        Share a single process namespace between all of the containers in a pod.
                                        When this is set containers will be able to view and signal processes from other containers
                                        in the same pod, and the first process in each container will not be assigned PID 1.
                                        HostPID and ShareProcessNamespace cannot both be set.
                                        Optional: Default to false.
                                      type: boolean
                                    subdomain:
                                      description: |-
                                        If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
                                        If not specified, the pod will not have a domainname at all.
                                      type: string
                                    terminationGracePeriodSeconds:
                                      description: |-
                                        Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
                                        Value must be non-negative integer. The value zero indicates stop immediately via
                                        the kill signal (no opportunity to shut down).
                                        If this value is nil, the default grace period will be used instead.
                                        The grace period is the duration in seconds after the processes running in the pod are sent
                                        a termination signal and the time when the processes are forcibly halted with a kill signal.
                                        Set this value longer than the expected cleanup time for your process.
                                        Defaults to 30 seconds.
                                      format: int64
                                      type: integer
                                    tolerations:
                                      description: If specified, the pod's tolerations.
                                      items:
                                        description: |-
                                          The pod this Toleration is attached to tolerates any taint that matches
                                          the triple <key,value,effect> using the matching operator <operator>.
                                        properties:
                                          effect:
                                            description: |-
                                              Effect indicates the taint effect to match. Empty means match all taint effects.
                                              When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
                                            type: string
                                          key:
                                            description: |-
                                              Key is the taint key that the toleration applies to. Empty means match all taint keys.
                                              If the key is empty, operator must be Exists; this combination means to match all values and all keys.
                                            type: string
                                          operator:
                                            description: |-
                                              Operator represents a key's relationship to the value.
                                              Valid operators are Exists and Equal. Defaults to Equal.
                                              Exists is equivalent to wildcard for value, so that a pod can
                                              tolerate all taints of a particular category.
                                            type: string
                                          tolerationSeconds:
                                            description: |-
                                              TolerationSeconds represents the period of time the toleration (which must be
                                              of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
                                              it is not set, which means tolerate the taint forever (do not evict). Zero and
                                              negative values will be treated as 0 (evict immediately) by the system.
                                            format: int64
                                            type: integer
                                          value:
                                            description: |-
                                              Value is the taint value the toleration matches to.
                                              If the operator is Exists, the value should be empty, otherwise just a regular string.
                                            type: string
                                        type: object
                                      type: array
                                      x-kubernetes-list-type: atomic
                                    topologySpreadConstraints:
                                      description: |-
                                        TopologySpreadConstraints describes how a group of pods ought to spread across topology
                                        domains. Scheduler will schedule pods in a way which abides by the constraints.
                                        All topologySpreadConstraints are ANDed.
                                      items:
                                        description: TopologySpreadConstraint specifies how to spread matching pods among the given topology.
                                        properties:
                                          labelSelector:
                                            description: |-
                                              LabelSelector is used to find matching pods.
                                              Pods that match this label selector are counted to determine the number of pods
                                              in their corresponding topology domain.
                                            properties:
                                              matchExpressions:
                                                description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
                                                items:
                                                  description: |-
                                                    A label selector requirement is a selector that contains values, a key, and an operator that
                                                    relates the key and values.
                                                  properties:
                                                    key:
                                                      description: key is the label key that the selector applies to.
                                                      type: string
                                                    operator:
                                                      description: |-
                                                        operator represents a key's relationship to a set of values.
                                                        Valid operators are In, NotIn, Exists and DoesNotExist.
                                                      type: string
                                                    values:
                                                      description: |-
                                                        values is an array of string values. If the operator is In or NotIn,
                                                        the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                                        the values array must be empty. This array is replaced during a strategic
                                                        merge patch.
                                                      items:
                                                        type: string
                                                      type: array
                                                      x-kubernetes-list-type: atomic
                                                  required:
                                                  - key
                                                  - operator
                                                  type: object
                                                type: array
                                                x-kubernetes-list-type: atomic
                                              matchLabels:
                                                additionalProperties:
                                                  type: string
                                                description: |-
                                                  matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
                                                  map is equivalent to an element of matchExpressions, whose key field is "key", the
                                                  operator is "In", and the values array contains only "value". The requirements are ANDed.
                                                type: object
                                            type: object
                                            x-kubernetes-map-type: atomic
                                          matchLabelKeys:
                                            description: |-
                                              MatchLabelKeys is a set of pod label keys to select the pods over which
                                              spreading will be calculated. The keys are used to lookup values from the
                                              incoming pod labels, those key-value labels are ANDed with labelSelector
                                              to select the group of existing pods over which spreading will be calculated
                                              for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
                                              MatchLabelKeys cannot be set when LabelSelector isn't set.
                                              Keys that don't exist in the incoming pod labels will
                                              be ignored. A null or empty list means only match against labelSelector.

                                              This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
                                            items:
                                              type: string
                                            type: array
                                            x-kubernetes-list-type: atomic
                                          maxSkew:
                                            description: |-
                                              MaxSkew describes the degree to which pods may be unevenly distributed.
                                              When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
                                              between the number of matching pods in the target topology and the global minimum.
                                              The global minimum is the minimum number of matching pods in an eligible domain
                                              or zero if the number of eligible domains is less than MinDomains.
                                              For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                              labelSelector spread as 2/2/1:
                                              In this case, the global minimum is 1.
                                              | zone1 | zone2 | zone3 |
                                              |  P P  |  P P  |   P   |
                                              - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
                                              scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
                                              violate MaxSkew(1).
                                              - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
                                              When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
                                              to topologies that satisfy it.
                                              It's a required field. Default value is 1 and 0 is not allowed.
                                            format: int32
                                            type: integer
                                          minDomains:
                                            description: |-
                                              MinDomains indicates a minimum number of eligible domains.
                                              When the number of eligible domains with matching topology keys is less than minDomains,
                                              Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
                                              And when the number of eligible domains with matching topology keys equals or greater than minDomains,
                                              this value has no effect on scheduling.
                                              As a result, when the number of eligible domains is less than minDomains,
                                              scheduler won't schedule more than maxSkew Pods to those domains.
                                              If value is nil, the constraint behaves as if MinDomains is equal to 1.
                                              Valid values are integers greater than 0.
                                              When value is not nil, WhenUnsatisfiable must be DoNotSchedule.

                                              For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
                                              labelSelector spread as 2/2/2:
                                              | zone1 | zone2 | zone3 |
                                              |  P P  |  P P  |  P P  |
                                              The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
                                              In this situation, new pod with the same labelSelector cannot be scheduled,
                                              because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
                                              it will violate MaxSkew.
                                            format: int32
                                            type: integer
                                          nodeAffinityPolicy:
                                            description: |-
                                              NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
                                              when calculating pod topology spread skew. Options are:
                                              - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
                                              - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.

                                              If this value is nil, the behavior is equivalent to the Honor policy.
                                              This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                            type: string
                                          nodeTaintsPolicy:
                                            description: |-
                                              NodeTaintsPolicy indicates how we will treat node taints when calculating
                                              pod topology spread skew. Options are:
                                              - Honor: nodes without taints, along with tainted nodes for which the incoming pod
                                              has a toleration, are included.
                                              - Ignore: node taints are ignored. All nodes are included.

                                              If this value is nil, the behavior is equivalent to the Ignore policy.
                                              This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
                                            type: string
                                          topologyKey:
                                            description: |-
                                              TopologyKey is the key of node labels. Nodes that have a label with this key
                                              and identical values are considered to be in the same topology.
                                              We consider each <key, value> as a "bucket", and try to put balanced number
                                              of pods into each bucket.
                                              We define a domain as a particular instance of a topology.
                                              Also, we define an eligible domain as a domain whose nodes meet the requirements of
                                              nodeAffinityPolicy and nodeTaintsPolicy.
                                              e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
                                              And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
                                              It's a required field.
                                            type: string
                                          whenUnsatisfiable:
                                            description: |-
                                              WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
                                              the spread constraint.
                                              - DoNotSchedule (default) tells the scheduler not to schedule it.
                                              - ScheduleAnyway tells the scheduler to schedule the pod in any location,
                                                but giving higher precedence to topologies that would help reduce the
                                                skew.
                                              A constraint is considered "Unsatisfiable" for an incoming pod
                                              if and only if every possible node assignment for that pod would violate
                                              "MaxSkew" on some topology.
                                              For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
                                              labelSelector spread as 3/1/1:
                                              | zone1 | zone2 | zone3 |
                                              | P P P |   P   |   P   |
                                              If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
                                              to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
                                              MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
                                              won't make it *more* imbalanced.
                                              It's a required field.
                                            type: string
                                        required:
                                        - maxSkew
                                        - topologyKey
                                        - whenUnsatisfiable
                                        type: object
                                      type: array
                                      x-kubernetes-list-map-keys:
                                      - topologyKey
                                      - whenUnsatisfiable
                                      x-kubernetes-list-type: map
                                    volumes:
                                      description: |-
                                        List of volumes that can be mounted by containers belonging to the pod.
                                        More info: https://kubernetes.io/docs/concepts/storage/volumes
                                      items:
                                        description: Volume represents a named volume in a pod that may be accessed by any container in the pod.
                                        properties:
                                          awsElasticBlockStore:
                                            description: |-
                                              awsElasticBlockStore represents an AWS Disk resource that is attached to a
                                              kubelet's host machine and then exposed to the pod.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



