Documentation
¶
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type BasicSchedulingPolicy
- type GangSchedulingPolicy
- type PodGroup
- type PodGroupPolicy
- type PriorityClass
- type PriorityClassList
- type TypedLocalObjectReference
- type Workload
- type WorkloadList
- type WorkloadSpec
Constants ¶
const ( // DefaultPriorityWhenNoDefaultClassExists is used to set priority of pods // that do not specify any priority class and there is no priority class // marked as default. DefaultPriorityWhenNoDefaultClassExists = 0 // HighestUserDefinablePriority is the highest priority for user defined priority classes. Priority values larger than 1 billion are reserved for Kubernetes system use. HighestUserDefinablePriority = int32(1000000000) // SystemCriticalPriority is the beginning of the range of priority values for critical system components. SystemCriticalPriority = 2 * HighestUserDefinablePriority // SystemPriorityClassPrefix is the prefix reserved for system priority class names. Other priority // classes are not allowed to start with this prefix. // NOTE: In order to avoid conflict of names with user-defined priority classes, all the names must // start with SystemPriorityClassPrefix. SystemPriorityClassPrefix = "system-" // SystemClusterCritical is the system priority class name that represents cluster-critical. SystemClusterCritical = SystemPriorityClassPrefix + "cluster-critical" // SystemNodeCritical is the system priority class name that represents node-critical. SystemNodeCritical = SystemPriorityClassPrefix + "node-critical" )
const GroupName = "scheduling.k8s.io"
GroupName is the group name use in this package
const WorkloadMaxPodGroups = 8
WorkloadMaxPodGroups is the maximum number of pod groups per Workload.
Variables ¶
var ( // SchemeBuilder points to a list of functions added to Scheme. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies all the stored functions to the scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type BasicSchedulingPolicy ¶
type BasicSchedulingPolicy struct {
}
BasicSchedulingPolicy indicates that standard Kubernetes scheduling behavior should be used.
func (*BasicSchedulingPolicy) DeepCopy ¶
func (in *BasicSchedulingPolicy) DeepCopy() *BasicSchedulingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicSchedulingPolicy.
func (*BasicSchedulingPolicy) DeepCopyInto ¶
func (in *BasicSchedulingPolicy) DeepCopyInto(out *BasicSchedulingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GangSchedulingPolicy ¶
type GangSchedulingPolicy struct {
// MinCount is the minimum number of pods that must be schedulable or scheduled
// at the same time for the scheduler to admit the entire group.
// It must be a positive integer.
//
// +required
MinCount int32
}
GangSchedulingPolicy defines the parameters for gang scheduling.
func (*GangSchedulingPolicy) DeepCopy ¶
func (in *GangSchedulingPolicy) DeepCopy() *GangSchedulingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GangSchedulingPolicy.
func (*GangSchedulingPolicy) DeepCopyInto ¶
func (in *GangSchedulingPolicy) DeepCopyInto(out *GangSchedulingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodGroup ¶
type PodGroup struct {
// Name is a unique identifier for the PodGroup within the Workload.
// It must be a DNS label. This field is immutable.
//
// +required
Name string
// Policy defines the scheduling policy for this PodGroup.
//
// +required
Policy PodGroupPolicy
}
PodGroup represents a set of pods with a common scheduling policy.
func (*PodGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroup.
func (*PodGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodGroupPolicy ¶
type PodGroupPolicy struct {
// Basic specifies that the pods in this group should be scheduled using
// standard Kubernetes scheduling behavior.
//
// +optional
// +oneOf=PolicySelection
Basic *BasicSchedulingPolicy
// Gang specifies that the pods in this group should be scheduled using
// all-or-nothing semantics.
//
// +optional
// +oneOf=PolicySelection
Gang *GangSchedulingPolicy
}
PodGroupPolicy defines the scheduling configuration for a PodGroup.
func (*PodGroupPolicy) DeepCopy ¶
func (in *PodGroupPolicy) DeepCopy() *PodGroupPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodGroupPolicy.
func (*PodGroupPolicy) DeepCopyInto ¶
func (in *PodGroupPolicy) DeepCopyInto(out *PodGroupPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PriorityClass ¶
type PriorityClass struct {
metav1.TypeMeta
// Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
// +optional
metav1.ObjectMeta
// value represents the integer value of this priority class. This is the actual priority that pods
// receive when they have the name of this class in their pod spec.
Value int32
// globalDefault specifies whether this PriorityClass should be considered as
// the default priority for pods that do not have any priority class.
// Only one PriorityClass can be marked as `globalDefault`. However, if more than
// one PriorityClasses exists with their `globalDefault` field set to true,
// the smallest value of such global default PriorityClasses will be used as the default priority.
// +optional
GlobalDefault bool
// description is an arbitrary string that usually provides guidelines on
// when this priority class should be used.
// +optional
Description string
// preemptionPolicy it the Policy for preempting pods with lower priority.
// One of Never, PreemptLowerPriority.
// Defaults to PreemptLowerPriority if unset.
// +optional
PreemptionPolicy *core.PreemptionPolicy
}
PriorityClass defines the mapping from a priority class name to the priority integer value. The value can be any valid integer.
func (*PriorityClass) DeepCopy ¶
func (in *PriorityClass) DeepCopy() *PriorityClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityClass.
func (*PriorityClass) DeepCopyInto ¶
func (in *PriorityClass) DeepCopyInto(out *PriorityClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PriorityClass) DeepCopyObject ¶
func (in *PriorityClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PriorityClassList ¶
type PriorityClassList struct {
metav1.TypeMeta
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta
// items is the list of PriorityClasses.
Items []PriorityClass
}
PriorityClassList is a collection of priority classes.
func (*PriorityClassList) DeepCopy ¶
func (in *PriorityClassList) DeepCopy() *PriorityClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PriorityClassList.
func (*PriorityClassList) DeepCopyInto ¶
func (in *PriorityClassList) DeepCopyInto(out *PriorityClassList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PriorityClassList) DeepCopyObject ¶
func (in *PriorityClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TypedLocalObjectReference ¶
type TypedLocalObjectReference struct {
// APIGroup is the group for the resource being referenced.
// If APIGroup is empty, the specified Kind must be in the core API group.
// For any other third-party types, setting APIGroup is required.
// It must be a DNS subdomain.
//
// +optional
APIGroup string
// Kind is the type of resource being referenced.
// It must be a path segment name.
//
// +required
Kind string
// Name is the name of resource being referenced.
// It must be a path segment name.
//
// +required
Name string
}
TypedLocalObjectReference allows to reference typed object inside the same namespace.
func (*TypedLocalObjectReference) DeepCopy ¶
func (in *TypedLocalObjectReference) DeepCopy() *TypedLocalObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedLocalObjectReference.
func (*TypedLocalObjectReference) DeepCopyInto ¶
func (in *TypedLocalObjectReference) DeepCopyInto(out *TypedLocalObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Workload ¶
type Workload struct {
metav1.TypeMeta
// Standard object's metadata.
// Name must be a DNS subdomain.
//
// +optional
metav1.ObjectMeta
// Spec defines the desired behavior of a Workload.
//
// +required
Spec WorkloadSpec
}
Workload allows for expressing scheduling constraints that should be used when managing lifecycle of workloads from scheduling perspective, including scheduling, preemption, eviction and other phases.
func (*Workload) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workload.
func (*Workload) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workload) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadList ¶
type WorkloadList struct {
metav1.TypeMeta
// Standard list metadata.
//
// +optional
metav1.ListMeta
// Items is the list of Workloads.
Items []Workload
}
WorkloadList contains a list of Workload resources.
func (*WorkloadList) DeepCopy ¶
func (in *WorkloadList) DeepCopy() *WorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadList.
func (*WorkloadList) DeepCopyInto ¶
func (in *WorkloadList) DeepCopyInto(out *WorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadList) DeepCopyObject ¶
func (in *WorkloadList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadSpec ¶
type WorkloadSpec struct {
// ControllerRef is an optional reference to the controlling object, such as a
// Deployment or Job. This field is intended for use by tools like CLIs
// to provide a link back to the original workload definition.
// When set, it cannot be changed.
//
// +optional
ControllerRef *TypedLocalObjectReference
// PodGroups is the list of pod groups that make up the Workload.
// The maximum number of pod groups is 8. This field is immutable.
//
// +required
// +listType=map
// +listMapKey=name
PodGroups []PodGroup
}
WorkloadSpec defines the desired state of a Workload.
func (*WorkloadSpec) DeepCopy ¶
func (in *WorkloadSpec) DeepCopy() *WorkloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadSpec.
func (*WorkloadSpec) DeepCopyInto ¶
func (in *WorkloadSpec) DeepCopyInto(out *WorkloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery.
|
Package install installs the experimental API group, making it available as an option to all of the API encoding/decoding machinery. |