Stay up-to-date on Kubernetes development in 15 minutes a week.
The AI Conformance subproject has moved to the SIG Architecture mailing list; contributors should join sig-architecture@kubernetes.io for future AI Conformance meeting invites and announcements.
There is an active discussion on the AI usage policy’s interaction with GitHub Copilot and CLA mechanics; contributors using Copilot-generated commits should review the thread before submitting PRs.
Kubernetes v1.36: ハル (Haru) has been released last week along with Kubernetes v1.33.11, v1.34.7, and v1.35.4 patches.
Kubernetes 1.33 entered maintenance mode on Apr 28, 2026.
KEP-4781: Restarting kubelet does not change pod status
This KEP proposes improving how kubelet handles Pod readiness during restarts by preserving the existing Started and Ready states instead of resetting them to False. Currently, when kubelet restarts, it loses prior probe results and marks all pods as not ready, even if they were functioning correctly. This can cause unnecessary service disruptions, incorrect health signals, and trigger avoidable alerts or load balancing changes. The goal is to ensure pod status more accurately reflects real runtime conditions, improving reliability and availability during kubelet restarts.
KEP-4781 is currently in the Alpha stage, with the feature implemented behind the ChangeContainerStatusOnKubeletRestart feature gate. It is not yet scheduled for an active release and is expected to progress in a future release cycle once further validation and iteration are completed.
.status.resourceClaimStatuses could flap between partial lists of claims when multiple claims were used in the pod.localAPIEndpoint.address or --bind-address extraArgs) instead of all interfaces, for kube-apiserver, kube-scheduler, kube-controller-manager, and etcd.metadata.generation and status.observedGeneration fields.kubectl exec.--advertise-address IP when using --endpoint-reconciler-type master-count or lease, ensuring the IP can be persisted to an Endpoints API object.MakeMountArgsSensitiveWithMountFlags.kubeproxydaemonset patch target to allow patching the kube-proxy DaemonSet during kubeadm init and kubeadm upgrade, consistent with the existing corednsdeployment patch target.MultiLock, UnknownLeader, and ConcatRawRecord in the client-go leader election resourcelock package.CauseType values in PodDisruptionBudget-related Forbidden errors, so clients can distinguish PDB invalid-state errors without string-matching on the message.kubectl get crd now displays additional columns — GROUP, SCOPE, VERSIONS, and CREATED AT — providing at-a-glance visibility into each CRD’s API group, scope, served versions, and creation timestamp.kubectl get storageclass to show only the effective default StorageClass as (default) when multiple StorageClasses have the default annotation.image.reference fields in Pod templates across Deployment, StatefulSet, DaemonSet, Job, and similar resources.maxUnavailable budget.AssignedPod, UnscheduledPod, and TargetPod — allowing plugins to register only for the specific pod events they need, improving performance.AnyVolumeDataSource, locked and enabled since v1.33.--concurrent-service-syncs kube-controller-manager flag, which has been a no-op since v1.31.KubeletMinVersion gate from the DRA multiple ResourceClaims e2e test, as the feature is now sufficiently available.Last Week In Kubernetes Development (LWKD) is a product of multiple contributors participating in Kubernetes SIG Contributor Experience. All original content is licensed Creative Commons Share-Alike, although linked content and images may be differently licensed. LWKD does collect some information on readers, see our privacy notice for details.
You may contribute to LWKD by submitting pull requests or issues on the LWKD github repo.