Kubernetes 1.25 removed APIs
Kubernetes 1.25 removed PodSecurityPolicy, with no replacement API, along with the beta versions of CronJob, PodDisruptionBudget, EndpointSlice, Event, RuntimeClass and the v2beta1 HorizontalPodAutoscaler. Clusters that rely on PodSecurityPolicy need Pod Security Admission or another admission controller in place before upgrading.
Every replacement below was available by 1.23, so clusters could migrate before upgrading. PodSecurityPolicy has no replacement API.
Check a manifest against 1.25.
Removed in 1.25
The API server no longer serves these from 1.25. Each kind links to its migration steps.
| Kind | Removed version | Migrate to | Available since |
|---|---|---|---|
| CronJob | batch/v1beta1 | batch/v1 | 1.21 |
| EndpointSlice | discovery.k8s.io/v1beta1 | discovery.k8s.io/v1 | 1.21 |
| Event | events.k8s.io/v1beta1 | events.k8s.io/v1 | 1.19 |
| HorizontalPodAutoscaler | autoscaling/v2beta1 | autoscaling/v2 | 1.23 |
| PodDisruptionBudget | policy/v1beta1 | policy/v1 | 1.21 |
| PodSecurityPolicy | policy/v1beta1 | No replacement | - |
| RuntimeClass | node.k8s.io/v1beta1 | node.k8s.io/v1 | 1.20 |
The official migration guide covers the APIs it lists for each release. See every version with API removals.