The latest Kubernetes version is now available. You can find a complete list of updates and bug fixes in the changelog. Major topics for the release include deprecations, metrics,node and kubectl. If you are new to Kubernetes or considering an upgrade, you may be wondering, now what?
Our team at Fairwinds exists to help engineers, DevOps and infrastructure teams be successful with Kubernetes. In that vein, most of the time we advise our client’s to run N-1 or N-2 behind the latest release. Why? There are a few reasons.
You have to balance long-term stability vs. bleeding edge technology. Adoption of Kubernetes allows you to benefit from container technology at scale. As you deploy more and more containers, the requirement for Kubernetes increases. But with each new release of Kubernetes, you need to ensure that any upgrades to services or operators, for example, are compatible and secure in your production environment. This simply requires the latest version to be released, tested and patched.
Next up, if using a managed Kubernetes service (GKE, EKS, AKS), they can sometimes run behind, not rolling out the latest version for weeks to months in some cases. They need the same time to release, test and patch.
Finally, your cloud native apps built on Kubernetes will likely require changes to support the latest version. You’ll want to consider what changes need to be made and how long they’ll take. You’ll also want to protect key features you rely on. Jumping to the latest version could mean you lose some functionality.
Vet First, Implement Second
Our Kubernetes Best Practice for upgrading to the latest version is to give the release time to be tested (unless of course you have a super cool innovation lab in which case, test it out, fix and share with the open source community!).
One way we support our clients through their entire Kubernetes journey is for our R&D team to vet new versions before rolling out to our clients’ production environments. This allows us to understand the pros and cons of each version so that based on a client’s apps, services and infrastructure, upgrades happen at the right time. It also means companies that rely on specific features don’t upgrade and panic if the feature doesn’t work properly anymore.
We don’t fear upgrades, instead we prepare for and love them. When the time comes for an upgrade, be sure that you have vetted the version. If you don’t have time for it, our SRE team is here to help.