☂️-Issue for "Support for Kubernetes v1.30”
rfranzke opened this issue · comments
/area open-source
/kind enhancement
/priority 3
/topology garden seed shoot
Kubernetes v1.30 is getting released on April 17th, you'll find the changelog here: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md
There is this guide for developers who want to work on adding support for a new Kubernetes version.
Tasks
Gardener
-
gardener
: #9689- Release-independent tasks
- Allow instantiating v1.30 Kubernetes clients and update
README.md
anddocs/usage/supported_k8s_versions.md
- Update feature gates in https://github.com/gardener/gardener/blob/master/pkg/utils/validation/features/featuregates.go
- Update admission plugins in https://github.com/gardener/gardener/blob/master/pkg/utils/kubernetes/admissionplugins.go
- Update API groups in https://github.com/gardener/gardener/blob/master/pkg/utils/validation/apigroups/apigroups.go
- Update KCM controllers in https://github.com/gardener/gardener/blob/master/pkg/utils/kubernetes/controllers.go
- Update KCM controllers in https://github.com/gardener/gardener/blob/master/pkg/component/shootsystem/shootsystem.go
- Bump used Kubernetes version for local shoot and local e2e test
- Bump
kubectl
version in https://github.com/gardener/gardener/blob/master/hack/tools.mk#L69
- Allow instantiating v1.30 Kubernetes clients and update
- Release-dependent tasks
- In kubelet configuration, the
.memorySwap.swapBehavior
field now accepts a new valueNoSwap
, which becomes the default if unspecified. The previously acceptedUnlimitedSwap
value has been dropped.
(#122745). See https://kubernetes.io/docs/concepts/architecture/nodes/#swap-memory.
- In kubelet configuration, the
- "Good to know" changes / no action required
- The deprecated
SecurityContextDeny
admission plugin, which has been deprecated sincev1.27
, has been removed. It is recommended to use the Pod Security Admission plugin instead, which has been available since v1.25. Refer to the Kubernetes documentation for more information. - Kubelet would fail if NodeSwap was used with LimitedSwap and cgroupv1 node.(#123738)
- The StorageVersionMigration API, previously available as a Custom Resource Definition (CRD), is now a built-in API in Kubernetes.
- Added the
disable-force-detach
CLI option forkube-controller-manager
. By default, it's set tofalse
. When enabled, it prevents force detaching volumes based on maximum unmount time and node status. If activated, the non-graceful node shutdown feature must be used to recover from node failure. Additionally, if a pod needs to be forcibly terminated at the risk of corruption, the appropriate VolumeAttachment object must be deleted. (#120344) - Alpha support for field selectors on custom resources has been added. With the
CustomResourceFieldSelectors
feature gate enabled, the CustomResourceDefinition API now allows specifyingselectableFields
. Listing a field there enables filtering custom resources for that CustomResourceDefinition in list or watch requests. (#122717) - Contextual logging is now in beta and enabled by default. Check out the KEP and official documentation for more details.
- The deprecated
- Release-independent tasks
Cloud Controller Managers
-
cloud-provider-gcp
- Maintain
legacy-cloud-providers
and createrelease-v1.30
branch from it (update container images and revendor latest Kubernetes patch): gardener/cloud-provider-gcp#49 - Maintain
release-v1.29
branch (update container images and revendor latest Kubernetes patch): gardener/cloud-provider-gcp#48 - Maintain
release-v1.28
branch (update container images and revendor latest Kubernetes patch): gardener/cloud-provider-gcp#50 - Maintain
release-v1.27
branch (update container images and revendor latest Kubernetes patch): gardener/cloud-provider-gcp#51
- Maintain
Provider Extensions
-
machine-controller-manager-provider-local
: gardener-attic/machine-controller-manager-provider-local#40- Bump
kindest/node
version innode/Dockerfile
(example)
- Bump
-
provider-alicloud
: gardener/gardener-extension-provider-alicloud#722- Revendor
gardener/gardener
with support for 1.30 client creation - Update
README.md
with support for 1.30
- Revendor
-
provider-aws
: gardener/gardener-extension-provider-aws#942- Revendor
gardener/gardener
with support for 1.30 client creation - Update
README.md
with support for 1.30 - Update
cloud-controller-manager
images - Released with
v1.55.0
- Revendor
-
provider-azure
: gardener/gardener-extension-provider-azure#855- Revendor
gardener/gardener
with support for 1.30 client creation - Update
README.md
with support for 1.30 - Update
cloud-controller-manager
andcloud-node-manager
images - Released with
v1.44.0
- Revendor
-
provider-gcp
: gardener/gardener-extension-provider-gcp#755- Revendor
gardener/gardener
with support for 1.30 client creation - Update
README.md
with support for 1.30 - Update
cloud-controller-manager
images - Released with
v1.36.0
- Revendor
-
provider-openstack
: gardener/gardener-extension-provider-openstack#770- Revendor
gardener/gardener
with support for 1.30 client creation. - Update
README.md
with support for 1.30 - Update
cloud-controller-manager
images - Released with
v1.40.0
- Revendor
-
provider-equinix-metal
: gardener/gardener-extension-provider-equinix-metal#309- Revendor
gardener/gardener
with support for 1.30 client creation - Update
README.md
with support for 1.30
- Revendor
Test Infra
- Ensure test-infra compatibility with conformance tests (example): gardener/test-infra@0ce0b36
Cluster Autoscaler
- Update cluster-autoscaler for K8s 1.30: gardener/autoscaler#304
- Adaptation of
gardener/autoscaler
: - Integration into
gardener/gardener
:
- Adaptation of
Follow-up items
- Add K8s 1.30 support for Gardener to kubernetes/test-infra: kubernetes/test-infra#32931
- Add K8s conformance badges to Gardener and extensions:
- Update the the conformance spreadsheet and reflect this update in our README.md:
- Adapt TODOs to update the kubernetes versions in e2e tests: #9745
- Update
kindest/node
tov1.30.0
: #9745
/assign