Kubernetes 1.35 Solves 'Restart' Headache

The new Kubernetes v1.35 release finally addresses the long-standing container "restart" problem. The update makes pod and container restarts more efficient, predictable, and observable. For backend teams, this means less downtime during rolling updates, better debugging visibility, and reduced operational work for SREs managing microservices.

The in-place pod resource update feature, which is now generally available, was the result of a development effort that spanned more than six years under Kubernetes Enhancement Proposal (KEP) 1287. Previously, any change to a container's CPU or memory allocation required a full pod replacement, a disruptive operation for stateful services and long-running jobs. This update introduces greater predictability for backend teams. New Kubelet metrics and Pod events provide clear visibility into resource changes, allowing SREs to track and debug resizing operations. A pod's status now indicates the progress of a resize, showing states like `Proposed`, `InProgress`, or `Deferred`, which eliminates guesswork during vertical scaling. For applications with complex dependencies, such as those using sidecar containers for service mesh or logging, a new alpha feature offers a more efficient restart mechanism. This feature, outlined in KEP-5532, allows a single container's exit to trigger an in-place restart of the entire pod, including init containers. This in-place pod restart preserves the pod's UID, IP address, and network namespace, making it significantly faster and less resource-intensive than the traditional method of deleting and recreating the entire pod. Observability is enhanced through a new `AllContainersRestarting` condition in the pod's status, providing a clear signal of the pod's state during this process.

Get your own daily briefing

Scout delivers personalized news, insights, and conversations tailored to your role and industry.

Download on the App Store

Shared from Scout - Be the smartest in the room.