--- # 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.30.0 sourceRef: kind: HelmRepository name: descheduler namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: retries: 3 uninstall: keepHistory: false values: replicas: 1 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: LowNodeUtilization args: targetThresholds: cpu: 50 memory: 50 pods: 50 thresholds: cpu: 20 memory: 20 pods: 20 useDeviationThresholds: true plugins: balance: enabled: - RemovePodsViolatingTopologySpreadConstraint - LowNodeUtilization deschedule: enabled: - RemovePodsViolatingInterPodAntiAffinity - RemovePodsViolatingNodeAffinity - RemovePodsViolatingNodeTaints service: enabled: true serviceMonitor: enabled: true leaderElection: enabled: true