v1alpha1

package
v0.0.0-...-3dc4fa0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

View Source
const (
	ScheduleStrategyFill    = "Fill"
	ScheduleStrategyBalance = "Balance"
)

Variables

View Source
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
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: scheduling.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicyList.

func (*TopologySchedulingPolicyList) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicySpec.

func (*TopologySchedulingPolicySpec) DeepCopyInto

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySchedulingPolicyStatus.

func (*TopologySchedulingPolicyStatus) DeepCopyInto

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL