Service meshes are a common component in Kubernetes platforms, but their operational cost is a frequent source of friction. Traditional Istio injects an Envoy sidecar into every pod. That design provides deep observability, strong security, and advanced traffic management, but it also adds complexity and resource overhead.
Istio Ambient Mode offers a different model. Instead of placing a proxy next to every workload, Ambient Mode uses shared node level and service level proxies. This reduces cost, simplifies upgrades, and lets teams adopt mesh features incrementally. This article explains how Ambient Mode works, how it differs from traditional Istio, recent developments that make it relevant now, practical examples, operational cautions, and the benefits platform teams can expect.
Traditional Istio uses a sidecar per pod. Each Envoy proxy intercepts inbound and outbound traffic for its pod. That yields consistent behavior and strong isolation, but the model scales poorly. A cluster with many pods runs many Envoy containers, each consuming CPU and memory.
Ambient Mode replaces the sidecar per pod pattern with a layered data plane that separates Layer 4 (L4) and Layer 7 (L7) responsibilities. This separation allows the mesh to handle transport security independently from application logic.
ztunnel: A shared Layer 4 proxy that runs once per node. Written in Rust for extreme efficiency, ztunnel handles mutual TLS (mTLS), workload identity, basic traffic forwarding, and zero trust segmentation. All pods on the node participate in the mesh without injection or pod restarts.
Waypoint proxies: Optional Layer 7 proxies deployed per service or per namespace. Waypoints provide routing, retries, timeouts, and authorization. Teams enable L7 features only where they are needed. These are based on Envoy but do not live inside the application pod.
| Area | Traditional Istio | Ambient Mode |
|---|---|---|
| Proxy placement | Sidecar per pod | ztunnel per node, waypoint per service |
| Pod restarts | Required for injection changes | Not required |
| Resource usage | Scales with pod count | Scales with node count |
| L7 features | Always available | Opt in through waypoints |
| Operational complexity | Higher due to injection and drift | Lower and more predictable |
Separating L4 and L7 clarifies responsibilities. ztunnel enforces identity and encryption at L4 using the HBONE (HTTP-Based Overlay Network Environment) protocol. Waypoints handle application level policies. This enables progressive adoption and reduces the blast radius of mesh changes. If a team only needs encryption, they never have to touch a Layer 7 proxy.
Ambient Mode has matured quickly. Several recent improvements increase its practicality for production environments. By 2026, these features have become the standard for modern cloud native networking.
Ambient Mode now supports an in pod redirection mode that works with a wider range of Container Network Interfaces (CNIs). That reduces the need for special CNI features and improves compatibility with Cilium, Calico, and cloud vendor CNIs. This mechanism ensures that traffic is redirected to ztunnel without requiring complex host-level routing rules that once caused conflicts.
Because workloads do not contain sidecars, control plane and data plane upgrades do not require restarting application pods. ztunnel upgrades may reset long lived TCP connections, but pods remain running. This lowers upgrade risk for clusters with strict uptime requirements. The decouple between the application lifecycle and the proxy lifecycle is a significant win for platform stability.
Waypoint proxies integrate more cleanly with Kubernetes Gateway API resources. The project has expanded documentation, diagrams, and examples to help teams plan migrations and deployments. Using Gateway API as the primary configuration interface makes waypoint management feel like a native Kubernetes experience rather than a separate mesh-specific task.
Vendors and distributions are adding Ambient Mode support. That signals growing confidence in the architecture and makes enterprise adoption more feasible. Major cloud providers now offer Ambient as a managed option, further validating its readiness for high-scale environments.
To secure a namespace, a team only needs to label it.
apiVersion: v1
kind: Namespace
metadata:
name: billing
labels:
istio.io/dataplane-mode: ambient
All pods in that namespace receive mTLS and identity enforcement through ztunnel. No pod restarts are required to enable L4 security.
If the payments service requires advanced traffic splitting or retries, a waypoint proxy can be deployed.
istioctl waypoint apply --name payments-waypoint --namespace billing
Only that service receives L7 features such as retries and authorization policies. Other services remain L4 only, saving significant memory across the cluster.
The transition is designed to be non-disruptive. A team can remove the sidecar injection label from a namespace and add the Ambient Mode label. Pods restart once to remove the sidecar, then operate under ztunnel. The team can then add waypoints later to enable L7 features for selected services without further pod disruptions.
Ambient Mode reduces many operational headaches, but it introduces new considerations that platform teams must address.
Kubelet health probes often originate from the node as link local requests. Those node originated probes can bypass ztunnel or be affected by CNI kube proxy replacement. The result can be failing readiness or liveness checks even when the application is healthy.
Mitigations:
Ambient Mode relies on predictable traffic redirection. If the primary CNI intercepts traffic before ztunnel, the mesh may not function correctly. Cilium users should consider disabling kube proxy replacement or configuring socket level load balancing so it does not intercept mesh traffic before ztunnel.
Cilium NetworkPolicy enforces L3 and L4 rules. Istio’s AuthorizationPolicy enforces L7 rules. If these policies are not aligned, traffic may be allowed at one layer and denied at another. Because Ambient Mode encrypts L4 flows, Cilium cannot inspect L7 content for those flows once they enter the mTLS tunnel.
Best Practice:
Some CNIs capture DNS via eBPF. Ambient Mode may also redirect DNS queries depending on configuration. If both systems attempt to manage DNS, name resolution failures or unexpected routing can occur.
Mitigations:
Cilium Hubble provides L3 and L4 visibility and can show L7 when traffic is unencrypted. Once Ambient Mode applies mTLS, Hubble sees encrypted flows and L7 visibility is reduced. The solution is to combine Hubble for network level telemetry with Istio telemetry for mesh level metrics and traces.
When implemented carefully, Ambient Mode delivers several tangible advantages for the modern enterprise.
Istio Ambient Mode is a meaningful evolution in service mesh design. By removing sidecars and introducing a layered data plane, it reduces cost, simplifies operations, and enables incremental adoption. Recent improvements in compatibility, upgrade behavior, and documentation make Ambient Mode a viable option for production clusters.
Platform engineering teams should evaluate Ambient Mode with attention to CNI interactions, health probe behavior, DNS capture, and policy ownership. With careful planning and testing, Ambient Mode can provide a cleaner and more scalable approach to securing and managing service to service communication in Kubernetes.