CertGrid CertGrid
Troubleshooting·Certified Kubernetes Application Developer

Finding Deprecated API Versions

"Understand API deprecations" is a CKAD objective and it shows up as a manifest that used to work and now does not. Kubernetes removes APIs on a published schedule, and the failure is a specific error at apply time - not a warning, not a partial success. Three removed versions are attempted here, the current ones are found from the cluster itself, and the API server's own deprecation metric is read.

Observability and Maintenance Guide 44 of 44 Intermediate

Deprecated and removed are different states. A deprecated API still works and returns a warning header; a removed one does not exist and kubectl cannot even map the kind. The three tried below - extensions/v1beta1 Ingress, policy/v1beta1 PodDisruptionBudget and batch/v1beta1 CronJob - were all removed some releases ago and are the ones most likely to be in an old manifest.

Read-mostly. Three manifests are rejected and one PodDisruptionBudget is created.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

This guide includes

Use this when a manifest that used to apply now fails. This matters because deprecated and removed are two different states - and the authoritative list of what your server accepts is one command rather than a changelog.

Before you start

  1. What this server actually serves

  2. An apiVersion that is gone

  3. Finding the version that does exist

  4. What the server records about deprecated calls

Official sources