Kubernetes 1.22 released in August 2021. The headline is the removal of deprecated beta API versions that had been carried since Kubernetes 1.16. The removal broke automation that had not been updated and prompted a significant upgrade challenge for many clusters.
The API deprecation removals
Kubernetes 1.22 removed 16 API versions that had been deprecated since 1.16 and 1.19. The removed APIs include Ingress v1beta1 (moved to v1), RBAC v1beta1, CRD v1beta1, and a dozen others. The APIs had been deprecated for two to three years with documented migration paths. Despite ample warning, many organisations had not migrated their manifests, Helm charts, and automation scripts.
The upgrade challenge
The practical challenge with Kubernetes API deprecations is that the client-side tooling (Helm charts, ArgoCD app definitions, Terraform manifests) is often managed by vendors, third-party projects, and upstream teams, not the cluster operator. A cluster operator upgrading to 1.22 discovered that community Helm charts, operators, and monitoring stacks they had not modified were using deprecated API versions.
The ephemeral containers feature
Kubernetes 1.22 moved ephemeral containers to beta. Ephemeral containers allow a debug container to be attached to a running pod, enabling interactive debugging of production workloads without restarting the pod or adding debug tools to the production image. The use case: production distroless images that have no shell. Ephemeral containers solve the debugging problem without compromising the security stance of minimal images.
The cluster autoscaler maturity
Cluster Autoscaler and Vertical Pod Autoscaler matured through 2021. The patterns for right-sizing workloads in Kubernetes: use Horizontal Pod Autoscaler for stateless workloads with CPU/memory metrics or custom metrics, Vertical Pod Autoscaler in recommendation mode to understand actual resource usage versus requested, and Cluster Autoscaler to add and remove nodes as the aggregate pod resource requests change.