- Centralized traffic management (routing, retries, circuit breaking)
- Strong security with mutual TLS and certificate rotation
- Rich telemetry and observability (metrics, traces, logs)
- Policy enforcement (rate limits, authorization)
High-level architecture
Istio splits responsibilities into two primary planes:- Data plane — composed of lightweight proxies (Envoy) deployed as sidecars next to each service instance. These sidecars intercept network traffic, perform routing and load balancing, collect telemetry, and enforce security policies for the application.
- Control plane — a centralized management layer that configures and manages the proxies, distributes policies and certificates, and performs service discovery and validation.
Envoy sidecar (data plane)
Istio uses the high-performance Envoy proxy for the data plane. Each workload typically has an Envoy sidecar that intercepts inbound and outbound network traffic and applies policies defined by the control plane. Responsibilities of Envoy sidecars:- Traffic routing and load balancing
- Request/response transformations and header manipulation
- Observability: emitting metrics, distributed traces, and logs
- Enforcing mutual TLS and authorization policies
Control plane (istiod)
Historically, Istio’s control plane consisted of several components:- Pilot — service discovery and routing configuration
- Citadel — certificate issuance and key management
- Galley — configuration validation and distribution
istiod. Istiod performs control-plane functions such as:
- Distributing configuration to Envoy proxies using xDS APIs
- Issuing and rotating certificates for mutual TLS
- Validating and reconciling configuration resources
Istio agent
Each pod or VM workload typically runs a small local helper process called the Istio agent. The agent handles:- Obtaining and rotating workload certificates
- Delivering secrets and configuration to the Envoy sidecar (for example, via SDS and xDS)
- Managing local bookkeeping (e.g., proxy bootstrap files, logs)

Istio’s control plane (
istiod) exposes configuration to Envoy proxies using the xDS APIs. The local Istio agent handles certificate lifecycle and secret delivery to Envoy (typically via SDS). This separation enables features such as traffic routing, mutual TLS, and automatic telemetry without modifying application code.Istio components at a glance
How Istio works (flow summary)
- Developers define application networking and security policies using Istio CRDs such as
VirtualServiceandDestinationRule. istiodvalidates and converts those policies into xDS configuration.- Envoy sidecars fetch configuration from
istiodand receive certificates/secrets from the Istio agent (SDS). - Envoy enforces routing, load balancing, retries, and security policies; it also emits telemetry to backends (Prometheus, Jaeger).
istiodcontinuously reconciles cluster state and updates Envoy via xDS as the system changes.
Example commands
Install Istio (simplified):Use cases
- Secure service-to-service communication with mutual TLS
- Fine-grained traffic control for canary releases and A/B testing
- Centralized observability (distributed tracing, metrics, logs)
- Policy enforcement for rate limiting and access control
Links and references
- Istio official site: https://istio.io/
- Envoy proxy: https://www.envoyproxy.io/
- Kubernetes documentation: https://kubernetes.io/docs/
- Learn more about service meshes: https://learn.kodekloud.com/user/courses/istio-service-mesh
VirtualService, DestinationRule, Gateway) and advanced features like multi-cluster and ingress/egress gateway setups.