The latest iteration of Kubernetes, version 1.35, arrived this week, bringing a suite of enhancements aimed at simplifying cluster management and improving developer workflows. This release builds upon previous efforts to reduce operational overhead while bolstering support for emerging technologies like serverless functions and edge computing deployments; teams managing complex containerized environments will find several valuable improvements here. Kubernetes v1.35 follows the established quarterly release cadence, succeeding version 1.34 which introduced significant changes around network policy enforcement.
Several key areas received updates in this cycle, most notably within the realms of workload management and observability. For instance, the new `kubectl events` command provides a more structured way to examine cluster events, facilitating quicker troubleshooting and root cause analysis – a direct response to feedback from cloud-native operators struggling with event visibility. Furthermore, the ongoing refinement of the Sidecar Container API promises greater flexibility in how applications interact with supporting infrastructure, enabling more sophisticated monitoring and data injection scenarios; this is particularly relevant for organizations adopting service mesh architectures or building custom observability solutions.
Key Changes Impacting Kubernetes Clusters
Kubernetes v1.35, slated for release on March 6th, introduces several changes that cluster administrators should address proactively to avoid operational disruptions. The most significant shift revolves around the complete removal of cgroup v1 support. This isn’t a new announcement; Kubernetes has been signaling this transition for some time, but its finality in v1.35 necessitates immediate action. Cgroup v2 offers improved resource isolation and accounting capabilities compared to its predecessor, representing a fundamental improvement in container management. However, teams running older Linux kernels (those prior to 5.9) will need to upgrade their operating systems or explore alternative solutions like the `systemd` cgroup driver – a considerable undertaking that warrants planning now, especially given potential compatibility testing requirements with existing applications.
Beyond the cgroup transition, Kubernetes v1.35 also deprecates several APIs and features, requiring teams to migrate workloads away from them. Specifically, the `extensions/v1beta1` API for Ingress resources is fully removed; any deployments still relying on this version will cease functioning correctly after the upgrade. While the `networking.k8s.io/v1` API has been the recommended alternative for years, many organizations – particularly those with legacy applications or complex network configurations – may still have lingering dependencies. This deprecation highlights a broader trend within Kubernetes: the relentless pursuit of API stabilization and simplification, which inevitably necessitates periodic migrations and refactoring efforts. Teams should use the Deprecated API Discovery tooling to identify any impacted resources before initiating an upgrade.
Looking ahead, the focus for Kubernetes development continues to be on improved security posture and enhanced developer experience. The ongoing work around Sidecar Containers, initially introduced in v1.28, is seeing further refinement and stabilization with v1.35, aiming to simplify observability and data management patterns within pods. While not a direct action item for most administrators immediately, understanding the trajectory of Sidecar Container support will be crucial as organizations increasingly adopt service mesh technologies and leverage AI-powered tooling for automated cluster management. Keep an eye on the Kubernetes Enhancement Proposals (KEPs) related to this area for future guidance; specifically, KEP 3816 details ongoing improvements.
Ending cgroup v1 Support: A Necessary Transition

Kubernetes v1.35, slated for release on November 14, 2023, marks a significant shift in resource management by removing support for cgroup v1. For years, Kubernetes has relied on control groups (cgroups) to limit and account for container resource usage; however, cgroup v1 is now considered legacy technology. This transition is driven by the inherent limitations of cgroup v1 – its inability to handle features like hierarchical resource management and a lack of support for newer Linux kernel functionalities. Adopting cgroup v2 improves resource isolation and provides more granular control over container behavior, which becomes increasingly important as Kubernetes deployments scale and incorporate more complex workloads.
Administrators running Kubernetes on older Linux distributions that haven’t yet migrated to cgroup v2 must take action before upgrading to v1.35. Specifically, kernels prior to 5.9 do not support cgroup v2, necessitating either an upgrade to a supported kernel or, as a temporary workaround, enabling the `cgroupV1Only` feature gate within Kubernetes (though this is strongly discouraged and will be removed in a future release). The deprecation of cgroup v1 represents a tradeoff: while it introduces immediate operational overhead for some teams, the long-term benefits of improved resource management outweigh this initial effort. Teams should prioritize kernel upgrades or evaluate container runtime configurations to ensure compatibility with Kubernetes v1.35 and beyond; otherwise, they risk cluster instability following the upgrade.
Enhancements for Improved Kubernetes Operations
Kubernetes v1.35, slated for release on May 7th, introduces several notable enhancements focused on streamlining cluster operations and improving developer workflows. A key area of improvement lies in the evolution of node-declared features, now generally available after a period of alpha and beta testing. Previously, Kubernetes relied heavily on implicit assumptions about node capabilities, which often led to scheduling inaccuracies when dealing with diverse hardware configurations—think specialized GPUs or unique network interfaces. Node-declared features allow administrators to explicitly define these capabilities in the kubelet configuration; this provides significantly more accurate pod placement decisions and reduces the likelihood of pods being scheduled onto unsuitable nodes. The shift improves cluster autoscaling efficiency because Kubernetes can now better match workloads to available resources, reducing wasted capacity.
Beyond scheduling refinements, v1.35 also addresses resource management with improved support for Kubelet credential providers. Specifically, this release introduces a new `KubeletCredentialProvider` API, simplifying the process of configuring secure access to external storage systems like cloud-based object stores or network file shares. Prior methods often involved complex workarounds and manual configuration; the new API provides a standardized approach that reduces operational overhead and minimizes potential security risks associated with managing credentials manually. This change is particularly relevant for teams adopting infrastructure-as-code practices, as it enables declarative credential management alongside other cluster configurations.
Security continues to be a priority in Kubernetes releases, and v1.35 includes enhancements to the RuntimeClass API. While not entirely new, this release standardizes the process of using container runtimes beyond the default containerd. RuntimeClasses allow users to specify alternative container runtimes, such as Kata Containers for increased isolation or gVisor for enhanced security profiles. The changes in v1.35 focus on improved stability and predictability when switching between runtimes, which is critical for organizations implementing more granular security policies. Teams using RuntimeClasses should review the updated documentation and test their configurations to ensure compatibility before upgrading. Looking ahead, keep an eye on the continued evolution of RuntimeClass support as Kubernetes integrates with emerging containerization technologies.
Node-Declared Features: Addressing Version Skew
Kubernetes v1.35 introduces a significant shift in how node capabilities are managed through the implementation of “node-declared features,” initially implemented as an alpha feature and now progressing to beta in this release. Previously, Kubernetes relied on kubelet reporting its available features; however, this approach suffered from inconsistencies arising from version skew between the control plane and kubelets, leading to inaccurate pod scheduling decisions. Node-declared features rectify this by allowing node administrators to explicitly define the capabilities of their nodes directly within the Kubernetes API, using a standardized schema. This shift fundamentally changes how schedulers interpret node suitability for workloads.
The implications are substantial, especially for organizations operating heterogeneous environments or leveraging cluster autoscaling. Accurate capability declarations enable more precise pod placement, reducing scheduling failures and optimizing resource utilization – for example, ensuring that specialized hardware like GPUs are correctly assigned to pods requiring them. Moreover, the explicit declaration model simplifies troubleshooting by providing a single source of truth regarding node capabilities; discrepancies between reported and actual features become easier to identify and resolve. Teams managing large clusters or those with frequent node upgrades should begin evaluating this feature in staging environments now, as its adoption will likely become mandatory in future releases, potentially requiring adjustments to existing pod specifications.
The recently released Kubernetes v1.35 brings several impactful enhancements focused on simplifying operational workflows and improving developer experience, marking a steady progression in the platform’s maturity. Notably, the introduction of Structured Logging now moves out of alpha and into beta, allowing for more consistent and machine-readable log data across components which will significantly ease debugging and monitoring efforts for teams managing complex deployments. This shift from unstructured text logs to standardized formats reduces parsing overhead and enables richer analytics pipelines; however, early adopters should plan for adjustments in existing logging infrastructure as they transition. Furthermore, the improvements surrounding Kubelet credential providers offer greater flexibility and security when accessing container registries, a common pain point for many organizations deploying applications at scale.
Beyond these core changes, Kubernetes v1.35 also includes refinements to various APIs and features aimed at enhancing stability and performance. The continued focus on graduating features from alpha to beta demonstrates the community’s commitment to solidifying the platform’s foundation; this careful transition allows for broader adoption while still enabling feedback during the stabilization period. For instance, advancements in sidecar container management promise more predictable resource allocation and improved isolation between application containers. To fully grasp these changes—and contribute to their ongoing development—we encourage you to explore the relevant Kubernetes Special Interest Groups (SIGs), such as SIG Logging and SIG Cluster Lifecycle. Joining the community channels for these groups is a direct way to engage with experts, provide feedback, and stay abreast of future developments shaping the Kubernetes landscape.
Source: Read the original article on Kubernetes.
Discover more tech insights on ByteTrending ByteTrending.
Discover more from ByteTrending
Subscribe to get the latest posts sent to your email.












