⚠️ HIGH PRIORITY — Important fixes. Upgrade soon.
Version: 1.36 | Released: 2026-04-22 | Upgrade from: 1.35.x
Kubernetes v1.36, codenamed “Haru” (Spring in Japanese), has sprung into action, bringing a robust set of enhancements primarily focused on tightening security and bolstering support for the rapidly evolving landscape of AI/ML workloads. This release marks a significant step forward, promoting critical security features to General Availability (GA) and introducing capabilities that directly address the unique demands of modern, resource-intensive applications.
Release at a Glance
- Security by Default:
MutatingAdmissionPolicyis now GA (v1) and enabled by default, fundamentally enhancing admission control security. This is a critical shift, requiring operators to understand its implications for their cluster’s security posture. - AI/ML Workload Optimization: Features like
OCI volumes supportandHorizontal Pod Autoscaler (HPA) scale-to-zeroprovide tangible benefits for AI/ML pipelines, improving data management and resource efficiency for intermittent inference tasks. - Deeper Performance Insights:
Pressure Stall Information (PSI)metrics reaching GA offer unparalleled visibility into resource saturation, empowering engineers to proactively tune performance before bottlenecks impact user experience. - Breaking Change Alert: The
gitRepovolume type has been permanently disabled due to security risks. Immediate migration toinitContainersoremptyDirwithgitcommands is required for affected workloads.
Headline New Features
Kubernetes v1.36 delivers a suite of powerful new capabilities, with a strong emphasis on maturity and stability for features previously in beta.
MutatingAdmissionPolicy Graduates to GA
The MutatingAdmissionPolicy API has been promoted to GA (v1) and is now enabled by default. This is a game-changer for cluster security, allowing for powerful, declarative modifications to incoming API requests before they are persisted.
📌 Key Idea: This feature allows cluster administrators to enforce policies that automatically inject sidecars, set default values, or modify resource configurations based on predefined rules, enhancing security and operational consistency.
Finer-Grained Impersonation Controls
This release introduces more granular controls for impersonation, allowing users to restrict permissions when impersonating others. This aligns with the principle of least privilege, enabling administrators to define precise boundaries for delegated access. ⚡ Real-world insight: In multi-tenant environments or for auditing purposes, this allows for safer debugging and administrative tasks by ensuring that an impersonating user cannot exceed the permissions they would have had if they weren’t impersonating at all.
External KMS for Service Account Token Signing
Kubernetes v1.36 now supports integration with external Key Management Solutions (KMS) for service account token signing. This removes the kube-apiserver’s sole dependency on its internal key for signing, enhancing security and allowing for better key lifecycle management, rotation, and auditing through dedicated KMS providers (e.g., cloud KMS services, HSMs).
Stable User Namespaces
User Namespaces have reached stable status, providing improved isolation and security for diverse workloads. This feature maps container UIDs/GIDs to different UIDs/GIDs on the host, preventing privilege escalation and enhancing multi-tenancy. 🧠 Important: While a powerful security primitive, user namespaces can introduce complexity with host-path volumes and certain privileged operations. Careful planning is essential.
OCI Volumes Support
New support for OCI volumes simplifies the management of container images and data, particularly beneficial for complex AI/ML pipelines. This allows for direct consumption of OCI artifacts as volumes, streamlining data and model distribution. ⚡ Quick Note: This can significantly simplify workflows where models or large datasets are packaged as OCI artifacts and need to be mounted directly into pods without intermediate steps.
HPA Scale-to-Zero Capability
The Horizontal Pod Autoscaler (HPA) now supports scaling down to zero pods. This is a highly anticipated feature, especially for intermittent workloads like AI inference services, where resources can be fully deallocated when not in use, leading to significant cost savings.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: my-ai-inference
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-ai-inference
minReplicas: 0 # New: Allows scaling down to zero
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
🔥 Optimization / Pro tip: Combine HPA scale-to-zero with a service mesh or ingress controller that can buffer requests while the deployment scales up from zero, ensuring a smooth user experience.
Security Enhancements
Kubernetes v1.36 takes a proactive stance on security, embedding stronger protections directly into the platform’s core.
Admission Control Hardening with MutatingAdmissionPolicy GA
The promotion of MutatingAdmissionPolicy to GA and its default enablement is a cornerstone security improvement. This allows for dynamic, policy-driven modification of resources at the API admission stage. For example, you can automatically inject security sidecars, ensure all pods have a specific PodSecurityContext, or enforce resource limits.
# Example MutatingAdmissionPolicy (simplified)
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingAdmissionPolicy
metadata:
name: enforce-security-context
spec:
rules:
- apiGroups: [""]
apiVersions: ["v1"]
operations: ["CREATE", "UPDATE"]
resources: ["pods"]
scope: "Namespaced"
matchPolicy: Equivalent
# This policy would inject a default security context if not present
# In a real scenario, this would involve a webhook service to perform the mutation
# and the policy would point to that service.
# For illustration, imagine it ensures runAsNonRoot: true
This declarative approach to security policy enforcement reduces the chance of misconfigurations and provides a consistent security baseline across the cluster.
Enhanced Impersonation Security
The introduction of finer-grained impersonation controls directly enhances the principle of least privilege. Previously, impersonating another user granted the impersonator all of the impersonated user’s permissions. Now, an impersonator can explicitly request a subset of their own permissions to be applied during the impersonation, preventing accidental or malicious over-privileging.
External Key Management for Service Account Tokens
Moving service account token signing to external KMS solutions significantly reduces the attack surface on the kube-apiserver. It allows organizations to leverage their existing, hardened key management infrastructure, improving compliance, auditability, and the overall security posture of service account credentials. This is particularly crucial for clusters handling sensitive data or operating under strict regulatory requirements.
Stable User Namespaces for Workload Isolation
With User Namespaces now stable, Kubernetes offers a more robust mechanism for isolating workloads. By remapping UIDs/GIDs, containers gain an additional layer of protection against privilege escalation attempts, even if a vulnerability within the container allows for root access. This makes multi-tenant clusters inherently more secure.
No specific CVEs were identified for this release in the provided snippets. This release focuses on introducing significant new security features and hardening existing mechanisms, rather than patching specific vulnerabilities.
Performance Improvements
Kubernetes v1.36 not only brings new features but also solidifies the tools for understanding and optimizing cluster performance.
Pressure Stall Information (PSI) Metrics to GA
The graduation of Pressure Stall Information (PSI) metrics to GA is a game-changer for performance tuning. PSI provides crucial insights into resource saturation (CPU, memory, I/O) by reporting how much time tasks spend waiting for resources. Unlike traditional utilization metrics, PSI directly indicates contention and starvation, allowing engineers to identify resource bottlenecks before they lead to noticeable performance degradation.
⚡ Real-world insight: Instead of seeing 80% CPU utilization and wondering if it’s a problem, PSI might show that 10% of CPU time is spent waiting due to contention, indicating a hidden bottleneck. This allows for more precise scaling decisions or resource allocation adjustments.
Improved Scalability Test Benchmarks
SIG Scalability has officially increased the supported resource size in scalability tests from 800MB to 1.5GB. This isn’t just a number; it indicates that the Kubernetes control plane and underlying components have been tested and proven stable and performant at significantly larger scales. This provides greater confidence for deploying larger, more complex clusters and workloads.
Breaking Changes and Removed APIs
As with any major release, Kubernetes v1.36 includes breaking changes that require attention during the upgrade process. The most critical change is the permanent removal of a legacy volume type.
Permanent Disablement of gitRepo Volume Type
The gitRepo volume type has been permanently disabled due to long-standing security concerns. This volume type allowed pods to pull Git repositories directly at startup, which created a significant attack vector if the repository or the Git client had vulnerabilities.
Why it matters: This change means any existing Pods, Deployments, StatefulSets, or other workloads that rely on gitRepo volumes will fail to start or operate correctly after upgrading to v1.36.
Migration Strategy: Users must migrate to more secure alternatives. The recommended approaches are:
- Using
initContainers: Use aninitContainerto clone the Git repository into anemptyDirvolume. The main application container then mounts thisemptyDir. - Using
emptyDirwithgitcommands: Similar toinitContainers, but the main container executes thegit clonecommand itself upon startup (less common for application code).
Before (Kubernetes v1.35.x and earlier):
apiVersion: v1
kind: Pod
metadata:
name: my-gitrepo-pod
spec:
containers:
- name: web-server
image: nginx
volumeMounts:
- name: git-volume
mountPath: /app/repo
volumes:
- name: git-volume
gitRepo:
repository: https://github.com/my-org/my-repo.git
revision: master
directory: .
After (Kubernetes v1.36 and later):
apiVersion: v1
kind: Pod
metadata:
name: my-gitrepo-pod-migrated
spec:
initContainers:
- name: git-cloner
image: alpine/git # Or any image with git installed
command: ["git", "clone", "https://github.com/my-org/my-repo.git", "/app/repo"]
volumeMounts:
- name: shared-data
mountPath: /app/repo
containers:
- name: web-server
image: nginx
volumeMounts:
- name: shared-data
mountPath: /app/repo
volumes:
- name: shared-data
emptyDir: {} # An emptyDir to store the cloned repository
⚠️ What can go wrong: Failing to migrate gitRepo volumes will result in pod creation failures. Thoroughly audit your cluster for any workloads using this deprecated volume type before upgrading.
How to Upgrade
Given the high urgency and significant security enhancements, planning your upgrade to Kubernetes v1.36 is crucial. Always consult the official Kubernetes documentation and changelog for the most precise, version-specific instructions.
Review the Official Changelog: Before any upgrade, carefully read the official changelog for v1.36 to understand all changes, especially any other minor breaking changes or deprecations not highlighted here.
Backup Your Cluster: Always back up your
etcddata and Kubernetes configurations before starting an upgrade.Upgrade
kubeadm(if applicable): If you’re usingkubeadm, upgrade thekubeadmbinary on your control plane nodes first.# Update package lists sudo apt-get update # Upgrade kubeadm sudo apt-get install -y kubeadm=1.36.0-00Or for
yum/dnf:sudo yum update sudo yum install -y kubeadm-1.36.0Upgrade Control Plane: Initialize the upgrade on a control plane node.
sudo kubeadm upgrade plan v1.36.0 sudo kubeadm upgrade apply v1.36.0Upgrade
kubeletandkubectl: After the control plane is upgraded, upgradekubeletandkubectlon all nodes (control plane and worker nodes).# Upgrade kubelet and kubectl sudo apt-get install -y kubelet=1.36.0-00 kubectl=1.36.0-00 sudo systemctl restart kubeletOr for
yum/dnf:sudo yum install -y kubelet-1.36.0 kubectl-1.36.0 sudo systemctl restart kubeletDrain and Uncordon Worker Nodes: For each worker node, drain it, upgrade
kubeletandkubectl, then uncordon.# On control plane node: kubectl drain <node-name> --ignore-daemonsets # On worker node: sudo apt-get update sudo apt-get install -y kubelet=1.36.0-00 kubectl=1.36.0-00 sudo systemctl restart kubelet # On control plane node: kubectl uncordon <node-name>Post-Upgrade Verification: Verify the cluster health, check logs, and ensure all critical workloads are running as expected. Pay close attention to any pods that previously used
gitRepovolumes.
Ecosystem Impact
Kubernetes v1.36’s focus on enhanced security and AI workload support will ripple through the cloud-native ecosystem, prompting updates and new integrations.
Security Tooling and Policy Engines
The GA of MutatingAdmissionPolicy will likely lead to an explosion of new policies and integrations within existing policy engines like Kyverno, OPA Gatekeeper, and Falco. These tools will leverage the default-enabled status to offer more sophisticated and automated security enforcement. Cloud providers will also update their managed Kubernetes services to reflect these new default security postures.
AI/ML Platforms and MLOps Tools
The OCI volumes support and HPA scale-to-zero capabilities are significant for the AI/ML community. MLOps platforms and data science tooling will likely integrate these features to streamline model deployment, data versioning, and cost optimization for inference services. Expect to see updates from vendors like Kubeflow, MLflow, and various cloud-specific AI services to leverage these improvements.
Observability and Monitoring
The promotion of Pressure Stall Information (PSI) metrics to GA will drive new features in monitoring and observability platforms. Tools like Prometheus, Grafana, Datadog, and New Relic will enhance their dashboards and alerting capabilities to expose and interpret PSI data, providing more actionable insights into resource contention.
Cloud Providers
Cloud providers offering managed Kubernetes services (EKS, AKS, GKE, etc.) will rapidly adopt v1.36. Users should expect new versions of their managed clusters to become available, incorporating the default security enhancements and new features. It’s crucial to check their specific release notes for any provider-specific considerations or additional breaking changes.
The continuous evolution of Kubernetes, with releases like v1.36, underscores the project’s commitment to security, scalability, and adaptability to emerging workloads like AI. Staying current with these releases is not just about gaining new features, but about maintaining a secure, efficient, and future-proof cloud-native infrastructure.