--- # yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json apiVersion: helm.toolkit.fluxcd.io/v2beta2 kind: HelmRelease metadata: name: descheduler spec: interval: 30m chart: spec: chart: descheduler version: 0.29.0 sourceRef: kind: HelmRepository name: descheduler namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false values: replicas: 2 kind: Deployment deschedulerPolicyAPIVersion: descheduler/v1alpha2 deschedulerPolicy: profiles: - name: Default pluginConfig: - name: DefaultEvictor args: evictFailedBarePods: true evictLocalStoragePods: true evictSystemCriticalPods: true nodeFit: true - name: RemovePodsViolatingInterPodAntiAffinity - name: RemovePodsViolatingNodeAffinity args: nodeAffinityType: - requiredDuringSchedulingIgnoredDuringExecution - name: RemovePodsViolatingNodeTaints - name: RemovePodsViolatingTopologySpreadConstraint args: constraints: - DoNotSchedule - ScheduleAnyway - name: HighNodeUtilization args: threshholds: cpu: 80 evictableNamespaces: exclude: - kube-system - rook-ceph - security - volsync-system - flux-system plugins: balance: enabled: - RemovePodsViolatingTopologySpreadConstraint - HighNodeUtilization deschedule: enabled: - RemovePodsViolatingInterPodAntiAffinity - RemovePodsViolatingNodeAffinity - RemovePodsViolatingNodeTaints service: enabled: true serviceMonitor: enabled: true leaderElection: enabled: true