Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type DeployPlacement
- type SchedulePolicy
- type TopologySchedulingPolicy
- type TopologySchedulingPolicyList
- type TopologySchedulingPolicySpec
- type TopologySchedulingPolicyStatus
- type UnsatisfiableConstraintAction
- type UpdatePolicy
Constants ¶
const ( ScheduleStrategyFill = "Fill" ScheduleStrategyBalance = "Balance" )
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: scheduling.GroupName, Version: "v1alpha1"}
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 DeployPlacement ¶
type DeployPlacement struct { WhenUnsatisfiable UnsatisfiableConstraintAction `json:"whenUnsatisfiable"` Policy []SchedulePolicy `json:"policy"` }
func (*DeployPlacement) DeepCopy ¶
func (in *DeployPlacement) DeepCopy() *DeployPlacement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployPlacement.
func (*DeployPlacement) DeepCopyInto ¶
func (in *DeployPlacement) DeepCopyInto(out *DeployPlacement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulePolicy ¶
type SchedulePolicy struct { // Name is the topo value Name string `json:"name"` // Replicas is the desired the replicas for the topo value Replicas int32 `json:"replicas"` }
SchedulePolicy describe the topo value required replicas
func (*SchedulePolicy) DeepCopy ¶
func (in *SchedulePolicy) DeepCopy() *SchedulePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulePolicy.
func (*SchedulePolicy) DeepCopyInto ¶
func (in *SchedulePolicy) DeepCopyInto(out *SchedulePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopologySchedulingPolicy ¶
type TopologySchedulingPolicy struct { metav1.TypeMeta // Standard object's metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the desired behavior of the multi cluster. // +optional Spec TopologySchedulingPolicySpec `json:"spec,omitempty"` // Status represents the current information about multi cluster. // This data may not be up to date. // +optional Status TopologySchedulingPolicyStatus `json:"status,omitempty"` }
TopologySchedulingPolicy describes multi clusters/regions/zones scheduling policy
func (*TopologySchedulingPolicy) DeepCopy ¶
func (in *TopologySchedulingPolicy) DeepCopy() *TopologySchedulingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicy.
func (*TopologySchedulingPolicy) DeepCopyInto ¶
func (in *TopologySchedulingPolicy) DeepCopyInto(out *TopologySchedulingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TopologySchedulingPolicy) DeepCopyObject ¶
func (in *TopologySchedulingPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TopologySchedulingPolicyList ¶
type TopologySchedulingPolicyList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata // +optional metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of MultiClusterPolicy Items []TopologySchedulingPolicy `json:"items"` }
TopologySchedulingPolicyList is a collection of policy.
func (*TopologySchedulingPolicyList) DeepCopy ¶
func (in *TopologySchedulingPolicyList) DeepCopy() *TopologySchedulingPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicyList.
func (*TopologySchedulingPolicyList) DeepCopyInto ¶
func (in *TopologySchedulingPolicyList) DeepCopyInto(out *TopologySchedulingPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TopologySchedulingPolicyList) DeepCopyObject ¶
func (in *TopologySchedulingPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TopologySchedulingPolicySpec ¶
type TopologySchedulingPolicySpec struct { // TopologyKey is used when match node topoKey TopologyKey string `json:"topologyKey"` // ScheduleStrategy is used when schedule pods for a topoKey. // It can be Fill or Balance. // Fill will schedule pods to satisfy a topo requirements first, then start another. // Balance will try to keep Balance across different topo when scheduling pods. ScheduleStrategy string `json:"scheduleStrategy"` // DeployPlacement describes the topology requirement when scheduling pods. DeployPlacement []SchedulePolicy `json:"deployPlacement"` // UpdatePlacement describes topology requirements when updating pods. // Notice: This is not implemented now. UpdatePlacement []UpdatePolicy `json:"updatePlacement"` // 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. // +optional LabelSelector *metav1.LabelSelector `json:"labelSelector"` }
func (*TopologySchedulingPolicySpec) DeepCopy ¶
func (in *TopologySchedulingPolicySpec) DeepCopy() *TopologySchedulingPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicySpec.
func (*TopologySchedulingPolicySpec) DeepCopyInto ¶
func (in *TopologySchedulingPolicySpec) DeepCopyInto(out *TopologySchedulingPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopologySchedulingPolicyStatus ¶
type TopologySchedulingPolicyStatus struct {
Placement []SchedulePolicy `json:"placement"`
}
TopologySchedulingPolicyStatus describe the placement results.
func (*TopologySchedulingPolicyStatus) DeepCopy ¶
func (in *TopologySchedulingPolicyStatus) DeepCopy() *TopologySchedulingPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicyStatus.
func (*TopologySchedulingPolicyStatus) DeepCopyInto ¶
func (in *TopologySchedulingPolicyStatus) DeepCopyInto(out *TopologySchedulingPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnsatisfiableConstraintAction ¶
type UnsatisfiableConstraintAction string
const ( // DoNotSchedule instructs the multicluster not to schedule the pod // when constraints are not satisfied. DoNotSchedule UnsatisfiableConstraintAction = "DoNotSchedule" // ScheduleAnyway instructs the multicluster to schedule the pod // even if constraints are not satisfied. ScheduleAnyway UnsatisfiableConstraintAction = "ScheduleAnyway" )
type UpdatePolicy ¶
type UpdatePolicy struct { MaxSkew int32 `json:"maxSkew"` UpdateSequence []string `json:"updateSequence"` }
func (*UpdatePolicy) DeepCopy ¶
func (in *UpdatePolicy) DeepCopy() *UpdatePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdatePolicy.
func (*UpdatePolicy) DeepCopyInto ¶
func (in *UpdatePolicy) DeepCopyInto(out *UpdatePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.