Ambient mode removes the sidecar proxy from workloads and uses a host‑level daemon (ztunnel) plus the Istio CNI for transparent L4 interception. Use waypoint proxies when you need layer‑7 features (HTTP routing, mirroring, fault injection).
1 — Download Istio and add istioctl to PATH
Download the desired Istio version (example uses 1.26.3) and add thebin folder to your PATH:
2 — Install Istio using the ambient profile
Install Istio with the ambient profile:3 — Verify Istio system pods and daemonsets
Check pods inistio-system — ambient mode shows ztunnel and istio-cni-node:
ztunnel and istio-cni-node run as DaemonSets):
- ztunnel: handles L4 traffic interception for workloads in ambient mode.
- istio-cni-node: handles CNI and iptables conversions so workloads are transparently routed.
4 — Namespace labeling for ambient dataplane mode
In sidecar mode you’d label namespaces withistio-injection=enabled. For ambient mode, label namespaces with istio.io/dataplane-mode=ambient.
Check current namespace labels:
istioctl analyze may still report injection info targeted at sidecar mode:
default namespace for ambient dataplane mode:
5 — Run a test workload and confirm traffic is intercepted by ztunnel
Create a simple test pod (NGINX image used here):1/1. ztunnel intercepts the host‑level L4 traffic.
Tail ztunnel logs to observe intercepted connections:
test pod, execute a simple curl to an external site to generate outbound traffic:
access connection complete entries in the ztunnel logs. This confirms L4 interception and basic outbound connectivity through ztunnel.
Ambient mode provides transparent L4 interception out of the box. For L7 features (HTTP routing, mirroring, fault injection) you must deploy waypoint proxies and use Kubernetes Gateway API resources (e.g.,
HTTPRoute). These are distinct from Istio sidecar VirtualServices and require additional CRDs and configuration.6 — Install Kubernetes Gateway API CRDs (required for waypoint + HTTPRoute)
Install the Gateway API CRDs (example uses Gateway API v1.3.0 standard install):7 — Apply a waypoint proxy for layer‑7 capabilities (optional)
Create a waypoint in the namespace to enable an Envoy proxy as an entry point for L7 traffic:waypoint Deployment will create a pod:
HTTPRoute, which are Kubernetes-native and not Istio VirtualServices.
8 — Remove waypoint proxy (if desired)
To delete all waypoint resources in a namespace:Quick reference — Commands summary
What to expect and exam note
- Ambient mode: uses
ztunnel(daemon) +istio-cnito transparently intercept L4 traffic. Workloads do not show a sidecar container. - Waypoint proxy: required for advanced L7 features. It relies on the Kubernetes Gateway API (
Gateway,HTTPRoute) rather than Istio VirtualServices. - If you’re preparing for the ICA/field exam: you typically only need to know how to install ambient mode and label namespaces to enable dataplane interception (L4). Deep waypoint or HTTPRoute configuration is usually out of scope.
References
- Istio Ambient Mode (official docs): https://istio.io/latest/docs/setup/additional-setup/ambient/
- Gateway API (GitHub releases): https://github.com/kubernetes-sigs/gateway-api
- istioctl documentation: https://istio.io/latest/docs/reference/commands/istioctl/