Documentation ¶
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type DeschedulerPolicy
- type DeschedulerStrategy
- type FailedPods
- type Namespaces
- type NodeResourceUtilizationThresholds
- type Percentage
- type PodLifeTime
- type PodsHavingTooManyRestarts
- type RemoveDuplicates
- type ResourceThresholds
- type StrategyList
- type StrategyName
- type StrategyParameters
Constants ¶
const ( GroupName = "descheduler" GroupVersion = "v1alpha1" )
GroupName is the group name used in this package
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func RegisterDefaults ¶
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
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
func (in *NodeResourceUtilizationThresholds) DeepCopy() *NodeResourceUtilizationThresholds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeResourceUtilizationThresholds.
func (*NodeResourceUtilizationThresholds) DeepCopyInto ¶ added in v0.4.0
func (in *NodeResourceUtilizationThresholds) DeepCopyInto(out *NodeResourceUtilizationThresholds)
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
func (in *PodsHavingTooManyRestarts) DeepCopy() *PodsHavingTooManyRestarts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodsHavingTooManyRestarts.
func (*PodsHavingTooManyRestarts) DeepCopyInto ¶ added in v0.18.0
func (in *PodsHavingTooManyRestarts) DeepCopyInto(out *PodsHavingTooManyRestarts)
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.