What is new in Kubernetes 1.27?Introduction:Kubernetes enthusiasts take note! The highly-anticipate
Kubernetes enthusiasts take note! The highly-anticipated release of Kubernetes 1.27 has arrived. With over 60 enhancements, including a mix of new features, feature improvements, and deprecations, this new version is sure to be of interest to many. In this blog, we’ll delve into what’s new in Kubernetes 1.27, take a look at the features that have been removed, and give an overview of the general release. So, let’s get started!
So, What is New in Kubernetes 1.27?
This release brings a lot of new features to the table, and we are excited to explore What is new in kubernetes 1.27? And discuss some of the most interesting ones.
One of the most significant changes is the move of the image registry to a distributed system. This feature ensures that the image registry is closer to your data centre, regardless of your cloud provider. This is a big step towards making Kubernetes more open and accessible to everyone. It also makes image downloads faster, reduces data moved between data centres and contributes to a more eco-friendly cloud.
Another exciting feature is the VolumeGroupSnapshot. With this feature, you can take consistent snapshots across all volumes of your Pod. This feature will change the game for disaster recovery, as you no longer have to fear that your app won’t behave correctly because volumes were backed up with seconds of difference. It will also be useful for security research, ensuring that your snapshot represents the state of the Pod accurately.
In-place Update of Pod Resources is another great addition to Kubernetes 1.27. This feature enables you to update Pod’s container resources without necessarily restarting the Pod. The feature required updates to the CRI specification and will be appreciated by operators dealing with workloads that don’t deal well with restarts and might need resource tuning from time to time (e.g., database clusters).
The Multiple Service CIDRs features are a complete rework of how internal IPs are assigned. This feature removes arbitrary limits on the internal IPs of the cluster, providing better insights when querying cluster resources. This is a welcome change for all cluster admins, as it eliminates the need to manage arbitrary limits on the internal IPs of the cluster.
Lastly, the Improved kubectl plugin resolution for the non-shadowing subcommands feature will allow developers to provide subcommands in kubectl via plugins. This will provide a better user experience and enable the use of the kubectl command without affecting the codebase.
What Are We Saying Bye To:
Along with new features, Kubernetes 1.27 also brings deprecations and removals. Users should take note of the features that have been removed to avoid any inconvenience.
Some of the key deprecations include:
Removal of storage.k8s.io/v1beta1 from CSIStorageCapacity: This is a significant deprecation since it affects the ability to manage and provision storage in Kubernetes. Users must migrate their manifests and API clients to use the storage.k8s.io/v1 API version.
Removal of support for deprecated seccomp annotations: This is significant since it affects the security of containers in Kubernetes. Pods should use the corresponding pod or container securityContext.seccompProfile field instead.
Removal of CSI Migration feature gate: This feature affects the ability to use in-tree volume plugins and migrate to out-of-tree CSI drivers. This is a significant deprecation for users who are still using in-tree volume plugins.
Removal of the CSIInlineVolume feature gate: This is a significant deprecation since it affects the ability to specify CSI volumes directly in the pod specification for ephemeral use cases.
Removal of EphemeralContainers feature gate: This is a significant deprecation since it affects the ability to troubleshoot and debug pods and containers in Kubernetes.
Removal of LocalStorageCapacityIsolation feature gate: This feature provides support for capacity isolation of local ephemeral storage between pods, such as emptyDir volumes. This is a significant deprecation for users who rely on this feature for their storage needs.
Removal of NetworkPolicyEndPort feature gate: This feature gate affects the ability to define network policies in Kubernetes. This is a significant deprecation for users who rely on this feature to define network policies.
Whoohoo Heading to General Availability:
Kubernetes 1.27 is on its way to general release, and we cannot contain our excitement. With the plethora of new features and improvements, this version is a game-changer.
Pod resource limit/request metrics: This feature provides the ability to monitor and measure pod resource usage in Kubernetes clusters. It has been in beta since Kubernetes v1.8 and is expected to be promoted to stable in a future release. Once it’s stable, users will be able to reliably measure and monitor the resource usage of pods in their clusters, helping them better manage resource allocation and utilization.
OpenAPIV3 to GA: The OpenAPIV3 specification is a standard for describing REST APIs. Kubernetes has supported the OpenAPIV2 specification for some time and has been working towards support for OpenAPIV3. This feature is currently in beta and is expected to be promoted to GA in a future release. Once it’s GA, Kubernetes users will be able to use OpenAPIV3 to define their Kubernetes APIs, improving interoperability and standardization across Kubernetes clusters.
Whoami kubectl command: The whoami kubectl command is a simple command that returns the authenticated user associated with the current context. This command has been available as a kubectl plugin and is now being promoted to GA in Kubernetes v1.27. This will make it easier for users to quickly check which user they are authenticated as in a Kubernetes cluster.
CronJobTimeZone: The CronJobTimeZone feature provides the ability to specify the timezone for cron jobs in Kubernetes. This feature was introduced in beta in Kubernetes v1.21 and is being promoted to GA in Kubernetes v1.27. Once it’s GA, users will be able to specify the timezone for their cron jobs, making it easier to schedule jobs according to local time zones.
In conclusion, Kubernetes 1.27 has been released with exciting new features, enhancements to existing features, and deprecations. Notably, the move to a distributed image registry, the VolumeGroupSnapshot, and the In-place Update of Pod Resources are significant improvements. However, users should take note of the deprecations, including the removal of storage.k8s.io/v1beta1 from CSIStorageCapacity and the support for deprecated seccomp annotations.
Overall, Kubernetes 1.27 is a game-changer, and its benefits are something we eagerly anticipate. Try out the latest version, which was released on April 11th, and read the 1.27 release notes for further information, which are available here: Kubernetes 1.27 Release Notes. GKE and EKS 1.27 versions are expected to be released at some point in the near future, so keep an eye out for them until then as there is currently no word about their release.