The next crucial release of the most popular container orchestration software has been just before Christmas. The release contains 42 enhancements, but I would like to focus on the most important from my perspective:
Volume Snapshot Operations
Kubernetes has been initially designed to manage computing stateless workloads. However, those things within the last few years have been changed and significantly improved. We can manage stateful workloads with Statefulsets, Physical Volumes and from Kubernetes 1.20 we can create snapshots for the existing volumes.
This is a powerful feature that can allow you to:
✅ create a point-in-time copy of a volume
✅ re-create the volume of the snapshot data
✅ restore an existing volume to the previous state from the snapshot.
If you manage your Kubernetes in one of the cloud providers snapshots are already available as a service from the cloud provider. But, if you run your cluster on-prem that is a very welcome feature that can make daily duties a little easier for each Kubernetes maintainer.
Additionally the snapshot act as basic building blocks that unlock the ability to develop advanced storage administrations features.
The feature provides possibility for common debugging workflows directly from kubectl. You can troubleshoot workloads that crash on startups, distroless containers by adding a new container with additional debugging tools, or a node by creating a container running in the host namespaces with access to the host’s filesystem.
Currently you can create clusters that support both IPV4/IPV6 services. That is a great feature allowing you to leave the legacy workloads on running on IPV4 and create a new one running on IPV6.
Graceful node shutdown
That feature make the kubelet aware of system shutdowns and allow you to gracefully shutdown pods by setting 'GracefulNodeShutdown'
You don't need to panic, it's not dramatic as it sounds. Docker is one of available container runtime. Kubernetes will continue supporting runtimes that use the Container Runtime Interface(CRI), such as containerd and CRI-O. You can learn more about this in my previous article.