strategies

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PodLifeTime added in v0.18.0

func PodLifeTime(ctx context.Context, client clientset.Interface, strategy api.DeschedulerStrategy, nodes []*v1.Node, podEvictor *evictions.PodEvictor)

PodLifeTime evicts pods on nodes that were created more than strategy.Params.MaxPodLifeTimeSeconds seconds ago.

func RemoveDuplicatePods

func RemoveDuplicatePods(
	ctx context.Context,
	client clientset.Interface,
	strategy api.DeschedulerStrategy,
	nodes []*v1.Node,
	podEvictor *evictions.PodEvictor,
)

RemoveDuplicatePods removes the duplicate pods on node. This strategy evicts all duplicate pods on node. A pod is said to be a duplicate of other if both of them are from same creator, kind and are within the same namespace, and have at least one container with the same image. As of now, this strategy won't evict daemonsets, mirror pods, critical pods and pods with local storages.

func RemovePodsHavingTooManyRestarts added in v0.18.0

func RemovePodsHavingTooManyRestarts(ctx context.Context, client clientset.Interface, strategy api.DeschedulerStrategy, nodes []*v1.Node, podEvictor *evictions.PodEvictor)

RemovePodsHavingTooManyRestarts removes the pods that have too many restarts on node. There are too many cases leading this issue: Volume mount failed, app error due to nodes' different settings. As of now, this strategy won't evict daemonsets, mirror pods, critical pods and pods with local storages.

func RemovePodsViolatingInterPodAntiAffinity added in v0.3.0

func RemovePodsViolatingInterPodAntiAffinity(ctx context.Context, client clientset.Interface, strategy api.DeschedulerStrategy, nodes []*v1.Node, podEvictor *evictions.PodEvictor)

RemovePodsViolatingInterPodAntiAffinity evicts pods on the node which are having a pod affinity rules.

func RemovePodsViolatingNodeAffinity added in v0.5.0

func RemovePodsViolatingNodeAffinity(ctx context.Context, client clientset.Interface, strategy api.DeschedulerStrategy, nodes []*v1.Node, podEvictor *evictions.PodEvictor)

RemovePodsViolatingNodeAffinity evicts pods on nodes which violate node affinity

func RemovePodsViolatingNodeTaints added in v0.10.0

func RemovePodsViolatingNodeTaints(ctx context.Context, client clientset.Interface, strategy api.DeschedulerStrategy, nodes []*v1.Node, podEvictor *evictions.PodEvictor)

RemovePodsViolatingNodeTaints evicts pods on the node which violate NoSchedule Taints on nodes

func RemovePodsViolatingTopologySpreadConstraint added in v0.20.0

func RemovePodsViolatingTopologySpreadConstraint(
	ctx context.Context,
	client clientset.Interface,
	strategy api.DeschedulerStrategy,
	nodes []*v1.Node,
	podEvictor *evictions.PodEvictor,
)

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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