diff --git a/.github/workflows/manifests.yaml b/.github/workflows/manifests.yaml
index 2032f520e..97afbbdd3 100644
--- a/.github/workflows/manifests.yaml
+++ b/.github/workflows/manifests.yaml
@@ -8,7 +8,7 @@ jobs:
strategy:
matrix:
k8s-version: ["v1.29.0"]
- descheduler-version: ["v0.28.1"]
+ descheduler-version: ["v0.29.0"]
descheduler-api: ["v1alpha1", "v1alpha2"]
manifest: ["deployment"]
runs-on: ubuntu-latest
diff --git a/Makefile b/Makefile
index 79c9064c6..0c583b317 100644
--- a/Makefile
+++ b/Makefile
@@ -134,7 +134,7 @@ gen:
./hack/update-docs.sh
gen-docker:
- $(CONTAINER_ENGINE) run --entrypoint make -it -v $(CURRENT_DIR):/go/src/sigs.k8s.io/descheduler -w /go/src/sigs.k8s.io/descheduler golang:1.20.7 gen
+ $(CONTAINER_ENGINE) run --entrypoint make -it -v $(CURRENT_DIR):/go/src/sigs.k8s.io/descheduler -w /go/src/sigs.k8s.io/descheduler golang:1.21.5 gen
verify-gen:
./hack/verify-conversions.sh
diff --git a/README.md b/README.md
index 3c9aae0fe..08c252343 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,7 @@ that version's release branch, as listed below:
|Descheduler Version|Docs link|
|---|---|
+|v0.29.x|[`release-1.29`](https://github.com/kubernetes-sigs/descheduler/blob/release-1.29/README.md)|
|v0.28.x|[`release-1.28`](https://github.com/kubernetes-sigs/descheduler/blob/release-1.28/README.md)|
|v0.27.x|[`release-1.27`](https://github.com/kubernetes-sigs/descheduler/blob/release-1.27/README.md)|
|v0.26.x|[`release-1.26`](https://github.com/kubernetes-sigs/descheduler/blob/release-1.26/README.md)|
diff --git a/charts/descheduler/Chart.yaml b/charts/descheduler/Chart.yaml
index a4f6fc270..5194d9f5d 100644
--- a/charts/descheduler/Chart.yaml
+++ b/charts/descheduler/Chart.yaml
@@ -1,7 +1,7 @@
apiVersion: v1
name: descheduler
-version: 0.28.1
-appVersion: 0.28.1
+version: 0.29.0
+appVersion: 0.29.0
description: Descheduler for Kubernetes is used to rebalance clusters by evicting pods that can potentially be scheduled on better nodes. In the current implementation, descheduler does not schedule replacement of evicted pods but relies on the default scheduler for that.
keywords:
- kubernetes
diff --git a/docs/deprecated/v1alpha1.md b/docs/deprecated/v1alpha1.md
index 1db075f5c..5867a3b49 100644
--- a/docs/deprecated/v1alpha1.md
+++ b/docs/deprecated/v1alpha1.md
@@ -109,17 +109,17 @@ See the [resources | Kustomize](https://kubectl.docs.kubernetes.io/references/ku
Run As A Job
```
-kustomize build 'github.com/kubernetes-sigs/descheduler/kubernetes/job?ref=v0.28.1' | kubectl apply -f -
+kustomize build 'github.com/kubernetes-sigs/descheduler/kubernetes/job?ref=v0.29.0' | kubectl apply -f -
```
Run As A CronJob
```
-kustomize build 'github.com/kubernetes-sigs/descheduler/kubernetes/cronjob?ref=v0.28.1' | kubectl apply -f -
+kustomize build 'github.com/kubernetes-sigs/descheduler/kubernetes/cronjob?ref=v0.29.0' | kubectl apply -f -
```
Run As A Deployment
```
-kustomize build 'github.com/kubernetes-sigs/descheduler/kubernetes/deployment?ref=v0.28.1' | kubectl apply -f -
+kustomize build 'github.com/kubernetes-sigs/descheduler/kubernetes/deployment?ref=v0.29.0' | kubectl apply -f -
```
## User Guide
diff --git a/docs/user-guide.md b/docs/user-guide.md
index 07a2c6dea..cab60687a 100644
--- a/docs/user-guide.md
+++ b/docs/user-guide.md
@@ -4,6 +4,7 @@ Starting with descheduler release v0.10.0 container images are available in the
Descheduler Version | Container Image | Architectures |
------------------- |-------------------------------------------------|-------------------------|
+v0.29.0 | registry.k8s.io/descheduler/descheduler:v0.29.0 | AMD64
ARM64
ARMv7 |
v0.28.1 | registry.k8s.io/descheduler/descheduler:v0.28.1 | AMD64
ARM64
ARMv7 |
v0.28.0 | registry.k8s.io/descheduler/descheduler:v0.28.0 | AMD64
ARM64
ARMv7 |
v0.27.1 | registry.k8s.io/descheduler/descheduler:v0.27.1 | AMD64
ARM64
ARMv7 |
diff --git a/hack/kind_config.yaml b/hack/kind_config.yaml
index e366c168e..c4057022b 100644
--- a/hack/kind_config.yaml
+++ b/hack/kind_config.yaml
@@ -1,9 +1,5 @@
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
-featureGates:
- # beta as of 1.27 but we currently run e2e on 1.26
- # this flag should be removed as part of Descheduler 0.29 release
- MatchLabelKeysInPodTopologySpread: true
nodes:
- role: control-plane
- role: worker
diff --git a/kubernetes/cronjob/cronjob.yaml b/kubernetes/cronjob/cronjob.yaml
index e9d6be287..4b55bbecc 100644
--- a/kubernetes/cronjob/cronjob.yaml
+++ b/kubernetes/cronjob/cronjob.yaml
@@ -16,7 +16,7 @@ spec:
priorityClassName: system-cluster-critical
containers:
- name: descheduler
- image: registry.k8s.io/descheduler/descheduler:v0.28.1
+ image: registry.k8s.io/descheduler/descheduler:v0.29.0
volumeMounts:
- mountPath: /policy-dir
name: policy-volume
diff --git a/kubernetes/deployment/deployment.yaml b/kubernetes/deployment/deployment.yaml
index 0f4b49b99..005f34c41 100644
--- a/kubernetes/deployment/deployment.yaml
+++ b/kubernetes/deployment/deployment.yaml
@@ -19,7 +19,7 @@ spec:
serviceAccountName: descheduler-sa
containers:
- name: descheduler
- image: registry.k8s.io/descheduler/descheduler:v0.28.1
+ image: registry.k8s.io/descheduler/descheduler:v0.29.0
imagePullPolicy: IfNotPresent
command:
- "/bin/descheduler"
diff --git a/kubernetes/job/job.yaml b/kubernetes/job/job.yaml
index 3e15f2384..b1a1ea751 100644
--- a/kubernetes/job/job.yaml
+++ b/kubernetes/job/job.yaml
@@ -14,7 +14,7 @@ spec:
priorityClassName: system-cluster-critical
containers:
- name: descheduler
- image: registry.k8s.io/descheduler/descheduler:v0.28.1
+ image: registry.k8s.io/descheduler/descheduler:v0.29.0
volumeMounts:
- mountPath: /policy-dir
name: policy-volume