Documentation ¶
Index ¶
- func InitializeNodePodCount(nodeList []*v1.Node) nodePodEvictedCount
- func IsNodeAboveTargetUtilization(nodeThresholds api.ResourceThresholds, thresholds api.ResourceThresholds) bool
- func IsNodeWithLowUtilization(nodeThresholds api.ResourceThresholds, thresholds api.ResourceThresholds) bool
- func LowNodeUtilization(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, ...)
- func NodeUtilization(node *v1.Node, pods []*v1.Pod) (api.ResourceThresholds, []*v1.Pod, []*v1.Pod, []*v1.Pod, []*v1.Pod, []*v1.Pod)
- func RemoveDuplicatePods(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, ...)
- func RemovePodsViolatingInterPodAntiAffinity(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, ...)
- func RemovePodsViolatingNodeAffinity(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, ...)
- func SortNodesByUsage(nodes []NodeUsageMap)
- type DuplicatePodsMap
- type NodePodsMap
- type NodeUsageMap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitializeNodePodCount ¶ added in v0.5.0
InitializeNodePodCount initializes the nodePodCount.
func IsNodeAboveTargetUtilization ¶
func IsNodeAboveTargetUtilization(nodeThresholds api.ResourceThresholds, thresholds api.ResourceThresholds) bool
func IsNodeWithLowUtilization ¶
func IsNodeWithLowUtilization(nodeThresholds api.ResourceThresholds, thresholds api.ResourceThresholds) bool
func LowNodeUtilization ¶
func LowNodeUtilization(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, evictionPolicyGroupVersion string, nodes []*v1.Node, nodepodCount nodePodEvictedCount)
func NodeUtilization ¶
func NodeUtilization(node *v1.Node, pods []*v1.Pod) (api.ResourceThresholds, []*v1.Pod, []*v1.Pod, []*v1.Pod, []*v1.Pod, []*v1.Pod)
Nodeutilization returns the current usage of node.
func RemoveDuplicatePods ¶
func RemoveDuplicatePods(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, policyGroupVersion string, nodes []*v1.Node, nodepodCount nodePodEvictedCount)
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. 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(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, policyGroupVersion string, nodes []*v1.Node, nodePodCount nodePodEvictedCount)
RemovePodsViolatingInterPodAntiAffinity with elimination strategy
func RemovePodsViolatingNodeAffinity ¶ added in v0.5.0
func RemovePodsViolatingNodeAffinity(ds *options.DeschedulerServer, strategy api.DeschedulerStrategy, evictionPolicyGroupVersion string, nodes []*v1.Node, nodePodCount nodePodEvictedCount)
func SortNodesByUsage ¶
func SortNodesByUsage(nodes []NodeUsageMap)
Types ¶
type DuplicatePodsMap ¶
type creator string
func FindDuplicatePods ¶
func FindDuplicatePods(pods []*v1.Pod) DuplicatePodsMap
FindDuplicatePods takes a list of pods and returns a duplicatePodsMap.
func ListDuplicatePodsOnANode ¶
func ListDuplicatePodsOnANode(client clientset.Interface, node *v1.Node) DuplicatePodsMap
ListDuplicatePodsOnANode lists duplicate pods on a given node.
type NodeUsageMap ¶
type NodeUsageMap struct {
// contains filtered or unexported fields
}