# Istio — Open Source Service Mesh for Microservices > Istio is the leading open-source service mesh. Connect, secure, control, and observe services with mTLS encryption, traffic management, and observability — all without changing application code. ## Install Save in your project root: ## Quick Use ```bash # Download istioctl curl -L https://istio.io/downloadIstio | sh - cd istio-* export PATH=$PWD/bin:$PATH # Install Istio istioctl install --set profile=demo -y # Enable sidecar injection for default namespace kubectl label namespace default istio-injection=enabled # Verify istioctl verify-install ``` ## Intro **Istio** is the leading open-source service mesh, providing a uniform way to connect, secure, control, and observe services in a microservices architecture. It works by deploying Envoy proxies as sidecars alongside your application containers, intercepting all network traffic to provide mTLS encryption, traffic management, access policies, and telemetry — all without requiring changes to application code. With 38.1K+ GitHub stars and Apache-2.0 license, Istio is a CNCF graduated project used by enterprises like Google, IBM, T-Mobile, and thousands of organizations running microservices at scale. ## What Istio Does - **Traffic Management**: Intelligent routing, load balancing, retries, timeouts, circuit breaking - **Canary Deployments**: Gradually shift traffic between versions for safe rollouts - **mTLS**: Automatic mutual TLS between all services in the mesh - **Authorization**: Fine-grained access policies (who can talk to whom) - **Observability**: Automatic metrics, logs, and distributed traces for all services - **Fault Injection**: Test resilience by injecting delays and errors - **Rate Limiting**: Protect services from overload - **Multi-Cluster**: Span service mesh across multiple Kubernetes clusters - **Gateway**: Ingress and egress gateways for external traffic - **Service Discovery**: Automatic discovery of services in the mesh ## Architecture ``` ┌─────────────────────────────────────────────┐ │ Kubernetes Cluster │ │ │ │ ┌──────────────┐ ┌──────────────┐ │ │ │ Service A │ │ Service B │ │ │ │ ┌────────┐ │ │ ┌────────┐ │ │ │ │ │ App │ │ │ │ App │ │ │ │ │ └───┬────┘ │ │ └───┬────┘ │ │ │ │ ┌───┴────┐ │ │ ┌───┴────┐ │ │ │ │ │ Envoy │──┼──────┼──│ Envoy │ │ │ │ │ │Sidecar │ │ mTLS │ │Sidecar │ │ │ │ │ └────────┘ │ │ └────────┘ │ │ │ └──────┬───────┘ └──────┬───────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────────────────────────────────┐ │ │ │ Istiod (Control Plane) │ │ │ │ - Service Discovery │ │ │ │ - Certificate Authority │ │ │ │ - Config Distribution │ │ │ └───────────────────────────────────────┘ │ └─────────────────────────────────────────────┘ ``` ## Installation ### Install with istioctl ```bash # Demo profile (full features) istioctl install --set profile=demo -y # Production profile (minimal) istioctl install --set profile=default -y # With custom configuration istioctl install -f - <