There are many changes, but the top one to note is the API deprecations included in the release. There’s a great post on the Kubernetes blog from Krishna Kilari and Tim Bannister that explains which APIs are deprecated. The post also lays out some great strategies for navigating those changes, including advice on testing the upgrade. There’s also a handy Kubernetes Deprecated API Migration Guide. Even if you’re not upgrading to 1.22 right away, you’ll likely need to deal with these API changes at some point, so it’s good to start thinking about it. I learned about
kubectl convert from Krishna and Tim’s post, which is super cool.
There are lots of other chages in 1.22, including: enabling seccomp by default (yay security!), a new alpha feature that allows running the kubeadm control plane as a non-root user, a new memory management alpha feature that uses cgroups v2, and an alpha feature to use swap on nodes. I’m especially excited about the change enabling seccomp. It’s one of the things people typically do when they harden clusters, but by making the defaults more secure, we make things a lot better for newer folks who are using Kubernetes.
You can read the full release notes here. Víctor Jiménez Cerrada and the team at Sysdig also did a great writeup of the release, including their favorite new features. And there’s a very cool Twitter thread that Jeremy Rickard started to shout out folks who contributed to the release.
Thanks to everyone who contributed, and to the many folks who work to keep the Kubernetes project moving forward.