descheduler crashes - failed decoding descheduler's policy config "/policy-dir/policy.yaml": strict decoding error: unknown field "podProtections"
kind/buglifecycle/rotten
<!-- Please answer these questions before submitting your bug report. Thanks! -->
**What version of descheduler are you using?**
descheduler version: Helm Chart version 0.34.0 (image: registry.k8s.io/descheduler/descheduler:v0.34.0)
**Does this issue reproduce with the latest release?**
As 0.34.0 is latest... - yes.
**Which descheduler CLI options are you using?**
n/a
**Please provide a copy of your descheduler policy config file**
```
apiVersion: "descheduler/v1alpha2"
kind: "DeschedulerPolicy"
profiles:
- name: default
pluginConfig:
- args:
podProtections:
defaultDisabled:
- PodsWithLocalStorage
extraEnabled:
- PodsWithPVC
name: DefaultEvictor
- name: RemoveDuplicates
- args:
includingInitContainers: true
podRestartThreshold: 100
name: RemovePodsHavingTooManyRestarts
- args:
nodeAffinityType:
- requiredDuringSchedulingIgnoredDuringExecution
name: RemovePodsViolatingNodeAffinity
- name: RemovePodsViolatingNodeTaints
- name: RemovePodsViolatingInterPodAntiAffinity
- name: RemovePodsViolatingTopologySpreadConstraint
- args:
targetThresholds:
cpu: 50
memory: 50
pods: 50
thresholds:
cpu: 20
memory: 20
pods: 20
name: LowNodeUtilization
plugins:
balance:
enabled:
- RemoveDuplicates
- RemovePodsViolatingTopologySpreadConstraint
- LowNodeUtilization
deschedule:
enabled:
- RemovePodsHavingTooManyRestarts
- RemovePodsViolatingNodeTaints
- RemovePodsViolatingNodeAffinity
- RemovePodsViolatingInterPodAntiAffinity
```
**What k8s version are you using (`kubectl version`)?**
1.34.0
<details><summary><code>kubectl version</code> Output</summary><br><pre>
$ kubectl version
</pre></details>
**What did you do?**
I installed descheduler via helm from here (https://kubernetes-sigs.github.io/descheduler/). My values.yaml only has this set:
```
schedule: "30 * * * *"
```
Pod comes up and logs this before it crashes:
```
I1218 16:53:31.846272 1 feature_gate.go:385] feature gates: {map[]}
I1218 16:53:37.623366 1 secure_serving.go:57] Forcing use of http/1.1 only
I1218 16:53:37.625136 1 named_certificates.go:53] "Loaded SNI cert" index=0 certName="self-signed loopback" certDetail="\"apiserver-loopback-client@1766076817\" [serving] validServingFor=[apiserver-loopback-client] issuer=\"apiserver-loopback-client-ca@1766076812\" (2025-12-18 15:53:31 +0000 UTC to 2028-12-18 15:53:31 +0000 UTC (now=2025-12-18 16:53:37.6249822 +0000 UTC))"
I1218 16:53:37.625355 1 secure_serving.go:211] Serving securely on [::]:10258
I1218 16:53:37.625430 1 tracing.go:87] Did not find a trace collector endpoint defined. Switching to NoopTraceProvider
I1218 16:53:37.626114 1 tlsconfig.go:243] "Starting DynamicServingCertificateController"
I1218 16:53:37.627873 1 envvar.go:172] "Feature gate default state" feature="ClientsAllowCBOR" enabled=false
I1218 16:53:37.627992 1 envvar.go:172] "Feature gate default state" feature="ClientsPreferCBOR" enabled=false
I1218 16:53:37.628013 1 envvar.go:172] "Feature gate default state" feature="InformerResourceVersion" enabled=false
I1218 16:53:37.628028 1 envvar.go:172] "Feature gate default state" feature="InOrderInformers" enabled=true
I1218 16:53:37.628043 1 envvar.go:172] "Feature gate default state" feature="WatchListClient" enabled=false
E1218 16:53:37.633586 1 server.go:73] "failed to run descheduler server" err="failed decoding descheduler's policy config \"/policy-dir/policy.yaml\": strict decoding error: unknown field \"podProtections\""
E1218 16:53:37.633685 1 run.go:72] "command failed" err="failed decoding descheduler's policy config \"/policy-dir/policy.yaml\": strict decoding error: unknown field \"podProtections\""
```
**What did you expect to see?**
The pod of the cronjob should run without crashing
**What did you see instead?**
It crashes with above last words
4 条评论