v1alpha1

package
v0.26.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	GroupName    = "descheduler"
	GroupVersion = "v1alpha1"
)

GroupName is the group name used in this package

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}

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 a Group qualified GroupKind

func RegisterDefaults

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type DeschedulerPolicy

type DeschedulerPolicy struct {
	metav1.TypeMeta `json:",inline"`

	// Strategies
	Strategies StrategyList `json:"strategies,omitempty"`

	// NodeSelector for a set of nodes to operate over
	NodeSelector *string `json:"nodeSelector,omitempty"`

	// EvictFailedBarePods allows pods without ownerReferences and in failed phase to be evicted.
	EvictFailedBarePods *bool `json:"evictFailedBarePods,omitempty"`

	// EvictLocalStoragePods allows pods using local storage to be evicted.
	EvictLocalStoragePods *bool `json:"evictLocalStoragePods,omitempty"`

	// EvictSystemCriticalPods allows eviction of pods of any priority (including Kubernetes system pods)
	EvictSystemCriticalPods *bool `json:"evictSystemCriticalPods,omitempty"`

	// IgnorePVCPods prevents pods with PVCs from being evicted.
	IgnorePVCPods *bool `json:"ignorePvcPods,omitempty"`

	// MaxNoOfPodsToEvictPerNode restricts maximum of pods to be evicted per node.
	MaxNoOfPodsToEvictPerNode *uint `json:"maxNoOfPodsToEvictPerNode,omitempty"`

	// MaxNoOfPodsToEvictPerNamespace restricts maximum of pods to be evicted per namespace.
	MaxNoOfPodsToEvictPerNamespace *uint `json:"maxNoOfPodsToEvictPerNamespace,omitempty"`
}

func (*DeschedulerPolicy) DeepCopy added in v0.4.0

func (in *DeschedulerPolicy) DeepCopy() *DeschedulerPolicy

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

func (*DeschedulerPolicy) DeepCopyInto added in v0.4.0

func (in *DeschedulerPolicy) DeepCopyInto(out *DeschedulerPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DeschedulerPolicy) DeepCopyObject added in v0.4.0

func (in *DeschedulerPolicy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeschedulerStrategy

type DeschedulerStrategy struct {
	// Enabled or disabled
	Enabled bool `json:"enabled,omitempty"`

	// Weight
	Weight int `json:"weight,omitempty"`

	// Strategy parameters
	Params *StrategyParameters `json:"params,omitempty"`
}

func (*DeschedulerStrategy) DeepCopy added in v0.4.0

func (in *DeschedulerStrategy) DeepCopy() *DeschedulerStrategy

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

func (*DeschedulerStrategy) DeepCopyInto added in v0.4.0

func (in *DeschedulerStrategy) DeepCopyInto(out *DeschedulerStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailedPods added in v0.22.0

type FailedPods struct {
	ExcludeOwnerKinds       []string `json:"excludeOwnerKinds,omitempty"`
	MinPodLifetimeSeconds   *uint    `json:"minPodLifetimeSeconds,omitempty"`
	Reasons                 []string `json:"reasons,omitempty"`
	IncludingInitContainers bool     `json:"includingInitContainers,omitempty"`
}

func (*FailedPods) DeepCopy added in v0.22.0

func (in *FailedPods) DeepCopy() *FailedPods

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

func (*FailedPods) DeepCopyInto added in v0.22.0

func (in *FailedPods) DeepCopyInto(out *FailedPods)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Namespaces added in v0.19.0

type Namespaces struct {
	Include []string `json:"include"`
	Exclude []string `json:"exclude"`
}

Namespaces carries a list of included/excluded namespaces for which a given strategy is applicable.

func (*Namespaces) DeepCopy added in v0.19.0

func (in *Namespaces) DeepCopy() *Namespaces

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

func (*Namespaces) DeepCopyInto added in v0.19.0

func (in *Namespaces) DeepCopyInto(out *Namespaces)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeResourceUtilizationThresholds

type NodeResourceUtilizationThresholds struct {
	UseDeviationThresholds bool               `json:"useDeviationThresholds,omitempty"`
	Thresholds             ResourceThresholds `json:"thresholds,omitempty"`
	TargetThresholds       ResourceThresholds `json:"targetThresholds,omitempty"`
	NumberOfNodes          int                `json:"numberOfNodes,omitempty"`
}

func (*NodeResourceUtilizationThresholds) DeepCopy added in v0.4.0

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

func (*NodeResourceUtilizationThresholds) DeepCopyInto added in v0.4.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Percentage

type Percentage float64

type PodLifeTime added in v0.20.0

type PodLifeTime struct {
	MaxPodLifeTimeSeconds *uint    `json:"maxPodLifeTimeSeconds,omitempty"`
	States                []string `json:"states,omitempty"`

	// Deprecated: Use States instead.
	PodStatusPhases []string `json:"podStatusPhases,omitempty"`
}

func (*PodLifeTime) DeepCopy added in v0.20.0

func (in *PodLifeTime) DeepCopy() *PodLifeTime

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

func (*PodLifeTime) DeepCopyInto added in v0.20.0

func (in *PodLifeTime) DeepCopyInto(out *PodLifeTime)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodsHavingTooManyRestarts added in v0.18.0

type PodsHavingTooManyRestarts struct {
	PodRestartThreshold     int32 `json:"podRestartThreshold,omitempty"`
	IncludingInitContainers bool  `json:"includingInitContainers,omitempty"`
}

func (*PodsHavingTooManyRestarts) DeepCopy added in v0.18.0

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

func (*PodsHavingTooManyRestarts) DeepCopyInto added in v0.18.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoveDuplicates added in v0.18.0

type RemoveDuplicates struct {
	ExcludeOwnerKinds []string `json:"excludeOwnerKinds,omitempty"`
}

func (*RemoveDuplicates) DeepCopy added in v0.18.0

func (in *RemoveDuplicates) DeepCopy() *RemoveDuplicates

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

func (*RemoveDuplicates) DeepCopyInto added in v0.18.0

func (in *RemoveDuplicates) DeepCopyInto(out *RemoveDuplicates)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceThresholds

type ResourceThresholds map[v1.ResourceName]Percentage

func (ResourceThresholds) DeepCopy added in v0.10.0

func (in ResourceThresholds) DeepCopy() ResourceThresholds

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

func (ResourceThresholds) DeepCopyInto added in v0.10.0

func (in ResourceThresholds) DeepCopyInto(out *ResourceThresholds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StrategyList

type StrategyList map[StrategyName]DeschedulerStrategy

func (StrategyList) DeepCopy added in v0.10.0

func (in StrategyList) DeepCopy() StrategyList

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

func (StrategyList) DeepCopyInto added in v0.10.0

func (in StrategyList) DeepCopyInto(out *StrategyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StrategyName

type StrategyName string

type StrategyParameters

type StrategyParameters struct {
	NodeResourceUtilizationThresholds *NodeResourceUtilizationThresholds `json:"nodeResourceUtilizationThresholds,omitempty"`
	NodeAffinityType                  []string                           `json:"nodeAffinityType,omitempty"`
	PodsHavingTooManyRestarts         *PodsHavingTooManyRestarts         `json:"podsHavingTooManyRestarts,omitempty"`
	PodLifeTime                       *PodLifeTime                       `json:"podLifeTime,omitempty"`
	RemoveDuplicates                  *RemoveDuplicates                  `json:"removeDuplicates,omitempty"`
	FailedPods                        *FailedPods                        `json:"failedPods,omitempty"`
	IncludeSoftConstraints            bool                               `json:"includeSoftConstraints"`
	Namespaces                        *Namespaces                        `json:"namespaces"`
	ThresholdPriority                 *int32                             `json:"thresholdPriority"`
	ThresholdPriorityClassName        string                             `json:"thresholdPriorityClassName"`
	LabelSelector                     *metav1.LabelSelector              `json:"labelSelector"`
	NodeFit                           bool                               `json:"nodeFit"`
	IncludePreferNoSchedule           bool                               `json:"includePreferNoSchedule"`
	ExcludedTaints                    []string                           `json:"excludedTaints,omitempty"`
}

Besides Namespaces ThresholdPriority and ThresholdPriorityClassName only one of its members may be specified

func (*StrategyParameters) DeepCopy added in v0.4.0

func (in *StrategyParameters) DeepCopy() *StrategyParameters

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

func (*StrategyParameters) DeepCopyInto added in v0.4.0

func (in *StrategyParameters) DeepCopyInto(out *StrategyParameters)

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