Kubernetes 1.26 Version Notes
From Kubernetes 1.25 to 1.26, a lot of API versions were officially deprecated. It is recommended that you carefully check the API versions in your cluster and the configuration of the Master components before upgrading. The following list is provided for your reference.
API deprecation
Cronjob
Starting from Kubernetes 1.25, the batch/v1beta1 API version of CronJob (scheduled tasks) is no longer provided, but the batch/v1 API version can be used, which has been available since Kubernetes 1.21.
EndpointSlice
After Kubernetes 1.25 version, discovery.k8s.io/v1beta1 API version of EndpointSlice (endpoint slice) is no longer provided. Instead, you can use the discovery.k8s.io/v1 API version, available since Kubernetes 1.21.
Event
Following Kubernetes 1.25, the events.k8s.io/v1beta1 API version for Event is deprecated. You should use the events.k8s.io/v1 API version, which has been available since Kubernetes v1.19 version.
PodDisruptionBudget
After Kubernetes 1.25 version, policy/v1beta1 API version of PodDisruptionBudget (Pod interruption budget) is no longer provided, but policy/v1 API version can be used, which is available from Kubernetes 1.21 version.
Note: Differences between the policy/v1 and policy/v1beta1 API versions concerning PodDisruptionBudget (PDB).
- Behavior of policy/v1: When spec.selector is set to an empty value ({}), it selects all Pods within the namespace.If spec.selector is not specified, no Pods will be selected.
- Behavior of policy/v1beta1: Regardless of whether spec.selector is set to empty or not, no Pods will be selected.
PodSecurityPolicy
After Kubernetes 1.25 version, policy/v1beta1 API version of PodSecurityPolicy (Pod security policy) is no longer provided, and the PodSecurityPolicy admission controller will also be removed. Please migrate PodSecurityPolicy to Pod Security Admission or third-party admission Webhook.
For more information on migration guides, please see Migrating from PodSecurityPolicy to the built-in PodSecurity Admission Controller. For more information on deprecation, please see PodSecurityPolicy Deprecation: Past, Present, and Future.
RuntimeClass
After Kubernetes 1.25 version, node.k8s.io/v1beta1 API version of RuntimeClass (Runtime Class) is no longer provided, but node.k8s.io/v1 API version can be used, which is available from Kubernetes 1.20 version.
HorizontalPodAutoscaler
After Kubernetes 1.25 version, autoscaling/v2beta1 API version of HorizontalPodAutoscaler (Pod horizontal auto scaling) is no longer provided.
After Kubernetes 1.26 version, autoscaling/v2beta2 API version of HorizontalPodAutoscaler is no longer provided, but autoscaling/v2 API version can be used, which is available from Kubernetes 1.23 version.
Flow control resources
After Kubernetes 1.26 version, flowcontrol.apiserver.k8s.io/v1beta1 API version of FlowSchema and PriorityLevelConfiguration is no longer provided. But from Kubernetes 1.23 version, flowcontrol.apiserver.k8s.io/v1beta2 can be used and from Kubernetes 1.26 version, flowcontrol.apiserver.k8s.io/v1beta3 can be used.