Kubernetes, the preeminent container orchestration platform, has recently released version 1.28, aptly named Planternetes. In this blog, we will delve deep into five of the most important features and updates introduced in this latest release, exposing their impact and how they are poised to benefit engineers and organizations alike.
Sidecar Support: A Crucial Evolution
One of the most eagerly awaited features in Kubernetes, version 1.28 introduces robust sidecar support, marking a pivotal evolution in container orchestration. Sidecar containers, an integral part of this update, represent a groundbreaking development in container management.
When we refer to sidecar containers, we are alluding to including multiple containers within a Pod. In Kubernetes, a Pod represents the smallest manageable unit, emphasizing the management of Pods over individual containers within them. A sidecar container is a discrete entity operating within the same Pod as the primary application container.
Sidecar containers have gained widespread popularity for their pivotal role in supporting essential features such as logging mechanisms and implementing a Service Mesh. In the context of a Service Mesh, the sidecar container accommodates configurations and policies, seamlessly embedding them into the Pod.
However, the historical challenge associated with sidecar containers has been race conditions, where one container’s successful initiation is contingent upon another’s commencement. Version 1.28 addresses this challenge by introducing a groundbreaking concept: the “background container.” This innovative approach effectively eliminates the vexing issues related to race conditions, thereby enhancing the reliability and predictability of sidecar container implementations.
Swap On Linux: A Highly Anticipated Addition
Since its inception, Kubernetes has notably lacked support for swapping on Linux, a significant limitation that has long been discussed within the community. Changing, in essence, is the capacity to utilize hard drive space as an extension of memory (RAM) when the available physical RAM is exhausted.
In practical terms, this implies that administrators had to manually turn off swapping when configuring a Kubernetes cluster, typically accomplished through commands such as ‘sudo swapoff -a.’ However, this configuration posed challenges as it reset upon server restarts or necessitated permanent deactivation.
While it is essential to underscore that swapping should not be viewed as a substitute for adequate memory/RAM, it serves as a valuable safety net in scenarios where memory becomes unexpectedly depleted. Such situations may arise due to unforeseen spikes in resource utilization or during the testing of new applications or updates that demand more memory than initially estimated.
With version 1.28, Kubernetes addresses this long-standing limitation by introducing beta support for memory swapping. This new feature holds immense promise, but it’s essential to exercise caution as it is still in its beta phase. Administrators and engineers should be prepared for unforeseen issues and bugs requiring prompt resolution.
Supported Skew Versions: Streamlining the Upgrade Process
Kubernetes upgrades have consistently been a source of complexity and concern for engineers and administrators. Whether it involves a Managed Kubernetes Service or an on-premises setup, upgrading Kubernetes has often been challenging.
One of the transformative improvements introduced in Kubernetes version 1.28 is the flexibility to maintain a one-minor-version disparity between Control Planes and Worker Nodes. Historically, the Control Planes and Worker Nodes were mandated to operate on identical Kubernetes versions, necessitating separate upgrades due to variations in binary requirements.
This latest enhancement allows for the independent upgrade of Control Plane components. Once the successful completion of this upgrade is confirmed, administrators gain the flexibility to plan and execute Worker Node component upgrades separately. This staggered approach significantly alleviates the stress associated with upgrades, particularly since Worker Nodes bear the brunt of workloads, including Pods, Deployments, and Services.
However, it is essential to emphasize that while this approach is now feasible, it remains advisable to expedite the upgrade of Worker Nodes promptly after upgrading the Control Plane. A comprehensive and well-structured upgrade strategy is crucial to ensuring the seamless operation of Kubernetes clusters.
CRD Updates: Advancing Customization to New Heights
Engineers have long praised Kubernetes for its innate customizability, a crucial feature that distinguishes it as the premier platform for container management. The usage of Custom Resource Definitions (CRDs) is one of the major technologies supporting this customization.
Engineers were forced to develop webhooks in prior Kubernetes versions to check resources within CRDs, relying on the Common Expression Language (CEL) for this purpose. However, Kubernetes version 1.28 greatly improves by allowing validation expressions to be included directly in CRDs. This paradigm change eliminates the requirement for additional code to handle webhooks, allowing the full validation process to be performed within the API specification.
This breakthrough is critical because it enables developers to adapt and enhance Kubernetes API features with remarkable simplicity and speed. Kubernetes version 1.28 maintains its commitment to encouraging flexibility and adaptation by permitting the insertion of validation expressions within CRDs.
Upcoming Updates: Timetable
What | Who | When | Week | CI Signal |
---|---|---|---|---|
1.29.0-alpha.2 released | Branch Manager | TBD | Week 4 | |
Production Readiness Freeze | Enhancements Lead | Thursday 28th September 2023 | Week 4 | master-blocking, master-informing |
Begin Enhancements Freeze | Enhancements Lead | 01:00 UTC Friday 6th October 2023 / 18:00 PDT Thursday 5th October 2023 | Week 5 | master-blocking, master-informing |
1.29.0-alpha.3 released | Branch Manager | TBD | Week 6 | |
Docs deadline — Open placeholder PRs | Docs Lead | Thursday 19th October 2023 | Week 7 | |
Begin Friday APAC-friendly meetings | Lead | Friday 20th October 2023 | Week 7 | |
1.29.0-alpha.4 released | Branch Manager | TBD | Week 8 | 1.29-blocking, master-blocking, master-informing |
Call for Exceptions | Lead | Monday 23rd October 2023 | Week 8 | |
Brace Yourself, Code Freeze is Coming | Comms / Bug Triage | Monday 23rd October 2023 | Week 8 | |
Begin Feature blog freeze | Comms Lead | 01:00 UTC Wednesday 25th October 2023 / 18:00 PDT Tuesday 24th October 2023 | Week 8 | |
Begin Code Freeze | Branch Manager | 01:00 UTC Wednesday 1st November 2023 / 18:00 PDT Tuesday 31st October 2023 | Week 9 | |
1.29.0-beta.0 released | Branch Manager | Thursday 2nd November 2023 | Week 9 | |
Deprecations and Removals blog published | Comms | Thursday 2nd November 2023 | Week 9 | |
KubeCon NA | Monday 6th – Thursday 9th November 2023 | Week 10 | ||
Begin Burndown (Monday, Wednesday, and Friday meetings) | Lead | Monday 13th November 2023 | Week 11 | |
Test Freeze | Branch Manager | 01:00 UTC Wednesday 15th November 2023 / 18:00 PDT Tuesday 14th November 2023 | Week 11 | |
Preparing for Feature blogs review — Initiating outreach | Comms | Monday 13th November 2023 | Week 11 | |
Docs deadline — PRs ready for review | Docs Lead | Tuesday 14th November 2023 | Week 11 | |
1.29.0-rc.0 released | Branch Manager | Tuesday 14th November 2023 | Week 11 | |
release-1.29 branch created | Branch Manager | Tuesday 14th November 2023 | Week 11 | |
release-1.29 jobs created | Branch Manager | Tuesday 14th November 2023 | Week 11 | |
Major Themes deadline | Comms | Tuesday 14th November2023 | Week 11 | |
Start final draft of Release Notes | Release Notes Lead | Tuesday 14th November 2023 | Week 11 | |
Release blog ready to review | Comms / Docs | 01:00 UTC Wednesday 15th November 2023 / 18:00 PDT Tuesday 14th November 2023 | Week 11 | |
Feature blogs ready to review | Enhancement Owner/SIG Leads | Friday 17th November 2023 | Week 11 | |
Burndown Meetings daily (Tuesday & Thursday over Slack) | Lead | Monday 20th November 2023 | Week 12 | |
Major Themes complete | Release Notes Lead | Tuesday 28th November 2023 | Week 13 | |
Docs complete — All PRs reviewed and ready to merge | Docs Lead | Tuesday 28th November 2023 | Week 13 | |
1.29.0-rc.1 released | Branch Manager | Thursday 28th November 2023 | Week 13 | |
Release Notes complete — reviewed & merged to https://github.com/kubernetes/kubernetes | Release Notes Lead | Tuesday 5th December, 2023 | Week 14 | |
v1.29.0 released | Branch Manager | Tuesday 5th December 2023 | Week 14 | |
Release blog published | Comms | Tuesday 5th December 2023 | Week 14 | |
Thaw | Branch Manager | Tuesday 5th December 2023 | Week 14 |
Conclusion
Kubernetes version 1.28, called Planternetes, ushers in a new age of container orchestration with unique capabilities that address long-standing issues and expand the platform’s flexibility for customization. These innovations not only improve Kubernetes’ efficiency and reliability but also demonstrate its flexibility to changing organizational demands. Kubernetes is a steadfast choice for container orchestration in an increasingly dynamic digital context as it evolves and innovates. Stay tuned for further updates and analysis as the Kubernetes ecosystem grows to suit the industry’s constantly changing demands.
Learn Kubernetes online and enhance your career
Get certified in Kubernetes and improve your future career prospects better.
Enroll in Cognixia’s Docker and Kubernetes certification course, upskill yourself, and make your way toward success and a better future. Get the best online learning experience with hands-on, live, interactive, instructor-led online sessions with our Kubernetes online training. In this highly competitive world, Cognixia is here to provide you with an immersible learning experience and help you enhance your skillset as well as knowledge with engaging online training that will enable you to add immense value to your organization.
Our Kubernetes online training will cover the basic-to-advanced level concepts of Docker and Kubernetes. This Kubernetes certification course allows you to connect with the industry’s expert trainers, develop your competencies to meet industry and organizational standards, and learn about real-world best practices.