Ztunnel¶
ztunnel is Istio ambient mesh’s node-local L4 proxy. Big Bang deploys it as a
DaemonSet in istio-system; a ready pod is therefore needed on each eligible
Linux node that hosts ambient-enrolled workloads. For ambient architecture,
workload enrollment, traffic policy, and operational procedures, use the
Istio ambient documentation.
Big Bang integration¶
This package is a thin wrapper around the
upstream ztunnel chart for Istio 1.31.1.
It selects the Iron Bank ztunnel image and enables the upstream ztunnel
NetworkPolicy. The full upstream configuration surface is available through
the upstream passthrough key; see the
upstream values
for its supported options.
The umbrella chart owns ztunnel enablement, source selection, release ordering,
and values-secret precedence. It creates the ztunnel release when ambient mode
is effective: either istio.ambient.enabled: true or ztunnel.enabled: true.
Ambient mode also causes the umbrella to enable Istio CNI and Gateway API.
The ztunnel release waits for Istiod and Istio CNI, plus enabled policy-package
dependencies. Configure these relationships in the umbrella chart rather than
in this package chart.
Configuration¶
Set Big Bang’s package enablement at the umbrella level, then place upstream
chart settings under values.upstream:
ztunnel:
enabled: true
values:
upstream:
# Upstream ztunnel chart settings
logLevel: info
Alternatively, enable ambient mode with istio.ambient.enabled: true; the
umbrella enables ztunnel and supplies its ambient defaults. Avoid treating an
explicit ztunnel enablement as an isolated workload: it activates the umbrella
ambient-mode behavior.
Networking, health, and metrics¶
Big Bang enables the upstream ztunnel NetworkPolicy by default. The rendered
policy selects app: ztunnel, permits ingress for readiness (15021), metrics
(15020), admin (15000), HBONE (15008), interception endpoints, and DNS
capture, and allows all egress. Review any additional cluster NetworkPolicies
and CNI restrictions against the rendered policy before tightening network
access.
The upstream DaemonSet labels its ztunnel container istio-proxy, exposes
15020 as ztunnel-stats, and adds the Prometheus scrape annotations for that
port. In Big Bang monitoring deployments, discovery is supplied by the existing
Istio Envoy PodMonitor (monitoring-monitoring-istio-envoy), rather than by a
ztunnel-specific monitor. Confirm that selector and the rendered ztunnel pod
labels when changing monitoring configuration. The readiness probe uses
/healthz/ready on port 15021.
Operations and security¶
Ztunnel is a privileged node-level component. Its upstream DaemonSet requires
network and namespace capabilities plus host integration to perform ambient
traffic interception. Validate node coverage, readiness, CNI compatibility, and
ambient traffic in a disposable environment after changing its configuration or
the related Istio packages. Package helm lint chart checks the wrapper only;
it does not verify ambient traffic or node coverage.
For package development, the repository test values enable ztunnel, Istio CNI, and Gateway API together. Cross-repository ambient changes need matching Istiod, Istio CNI, Gateway API, and umbrella validation.