Skip to content

"EmptyNode" Descheduler Stratergy #1730

@Sujit-sys

Description

@Sujit-sys

Is "EmptyNode" Deccheduler Stratergy valid? Can this be used to evict a pod except Daemonsets from a Empty Node or alomst empty node to facilitate their scale-down by the Cluster Autoscaler.
I don't see any such Stratergy in the Descheduler documentation.
Is "EmptyNode" Deccheduler Stratergy a production ready solution? On what condition it determines a node to be Almost empty ..is it Non Daemonset Pod count or the node resource utilization. Are there any thershold to be configured or it is self intelligent to take a decision. Please refer to the below sample descheduler policy and let me know if this is good to be used-

deschedulerPolicy:
profiles:
- name: EmptyNodeEviction
pluginConfig:
- name: EmptyNode # This is the key plugin for your goal
args: {} # No specific args needed for EmptyNode strategy, it just checks for empty nodes
- name: DefaultEvictor # Essential evictor to perform the eviction
args:
evictFailedBarePods: false
evictLocalStoragePods: false # Be cautious with local storage pods
evictSystemCriticalPods: false
evictDaemonSetPods: false # Usually you don't want to evict DaemonSets as they'll just reschedule
ignorePvcPods: false # Set to true if you have PVCs you don't want to evict
nodeFit: true # Crucial: only evict if the pod can be scheduled elsewhere
plugins:
deschedule:
enabled:
- EmptyNode # Enable the EmptyNode strategy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions