Documentation
¶
Index ¶
- func PodLifeTime(ctx context.Context, client clientset.Interface, ...)
- func RemoveDuplicatePods(ctx context.Context, client clientset.Interface, ...)
- func RemovePodsHavingTooManyRestarts(ctx context.Context, client clientset.Interface, ...)
- func RemovePodsViolatingInterPodAntiAffinity(ctx context.Context, client clientset.Interface, ...)
- func RemovePodsViolatingNodeAffinity(ctx context.Context, client clientset.Interface, ...)
- func RemovePodsViolatingNodeTaints(ctx context.Context, client clientset.Interface, ...)
- func RemovePodsViolatingTopologySpreadConstraint(ctx context.Context, client clientset.Interface, ...)
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.