Changelog for Kubernetes 1.25
Versions
- Kubernetes 1.25.6
- Nginx-ingress: 1.4.0
- Certmanager: 1.11.0
Major changes
- Pod Security Policies has been removed.
- CronJob API
batch/v1beta1
has been removed and is replaced withbatch/v1
that was implemented in Kubernetes 1.21 - EndpointSlice API
discovery.k8s.io/v1beta1
has been removed and is replaced withdiscovery.k8s.io/v1
that was implemented in Kubernetes 1.21 - Event API
events.k8s.io/v1beta1
has been removed and is replaced withevents.k8s.io/v1
that was implemented in Kubernetes 1.19 - PodDisruptionBudget API
policy/v1beta1
has been removed and is replaced withpolicy/v1
that was implemented in Kubernetes 1.21 - RuntimeClass API
node.k8s.io/v1beta1
has been removed and is replaced withnode.k8s.io/v1
that was implemented in Kubernetes 1.20
Deprecations
Note that all deprecations will be removed in a future Kubernetes release. This does not mean you need to perform any changes right now. However, we recommend you to start migrating your applications in order to avoid issues in future releases.
- In Kubernetes 1.26 the storage class
4k
will be removed from all clusters. This only affects clusters created prior to Kubernetes 1.23. Instead use the v1-dynamic-40 which is the default storage class since Kubernetes 1.23. This change was originally planned for Kuberntes 1.25 however has been pushed back to 1.26 to allow some extra time for migrations.
APIs removed in Kubernetes 1.26
More details can be found in Kubernetes official documentation.
- Flow control resources
flowcontrol.apiserver.k8s.io/v1beta1
. The replacementflowcontrol.apiserver.k8s.io/v1beta2
was implemented in Kubernetes 1.23 - HorizontalPodAutoscaler
autoscaling/v2beta2
. The replacementautoscaling/v2
was introduced in Kubernetes 1.23
APIs removed in Kubernetes 1.27
More details can be found in Kubernetes official documentation.
- CSIStorageCapacity
storage.k8s.io/v1beta1
. The replacementstorage.k8s.io/v1
was implemented in Kubernetes 1.24
Other noteworthy deprecations
Kubernetes beta topology labels on nodes are deprecated and will be removed in a future release. You can follow the list below to see which labels are being replaced:
Please note: The following changes does not have a set Kubernetes release. However, the replacement labels are already implemented.
beta.kubernetes.io/instance-type
->node.kubernetes.io/instance-type
beta.kubernetes.io/arch
->kubernetes.io/arch
beta.kubernetes.io/os
->kubernetes.io/os
failure-domain.beta.kubernetes.io/region
->topology.kubernetes.io/region
failure-domain.beta.kubernetes.io/zone
->topology.kubernetes.io/zone
Is downtime expected
The upgrade drains (move all workload from) one node at the time, patches that node and brings it back in the cluster. First after all deployments and statefulsets are running again we will continue on with the next node.
Known issues
Custom node taints and labels lost during upgrade
All custom taints and labels on worker and control-plane nodes are lost during upgrade.
Custom changes to non -customer security groups will be lost
All changes to security groups not suffixed with “-customer” will be lost during the upgrade.
Snapshots are not working
There is currently a limitation in the snapshot controller not making it topology aware.