Overview
Istio provides a service mesh layer using the modern ambient mode architecture. This eliminates the need for sidecar proxies while still providing traffic management, security, and observability.Installation
Istio is installed viaistio-install.sh using istioctl:
Architecture: Ambient Mode
Ambient mode uses a sidecar-less architecture with:- ztunnel - Zero trust tunnel for L4 security
- waypoint proxy - Optional L7 processing per namespace
- No modifications to application pods
Benefits
- Lower resource overhead (no sidecars)
- Simplified operations
- Faster pod startup times
- Incremental L7 feature adoption
Configuration
OpenTelemetry Tracing
Istio is configured to send traces to the OTel Collector:Gateway API
The installation includes Kubernetes Gateway API CRDs:Namespace Configuration
Themicroservices namespace is configured for ambient mode:
Waypoint Proxy
A waypoint proxy is deployed for L7 processing:- L7 traffic routing
- Request-level metrics
- Advanced traffic policies
- Protocol-aware load balancing
Custom Resources
Istio CRs are stored in theistio/ directory and applied during setup:
- Virtual Services
- Destination Rules
- Authorization Policies
- Request Authentication
Integration Points
Cilium CNI
Istio’s CNI plugin chains with Cilium:- Cilium handles L3/L4 networking
- Istio handles L7 policies and observability
- Both coexist without conflicts
OpenTelemetry Collector
Traces flow through this pipeline:otel-collector.observability.svc.cluster.local:4317.
Traefik Ingress
Traefik routes external traffic to services within the Istio mesh. The mesh handles internal service-to-service communication.Observability
Istio automatically generates metrics for:- Request rates (RPS)
- Latency percentiles (p50, p95, p99)
- Error rates
- Traffic distribution
Security Features
- mTLS - Automatic mutual TLS between services
- Authorization policies - Fine-grained access control
- Request authentication - JWT validation
- Zero trust - Default deny with explicit allows