Portal | Level: L3: Advanced | Topics: Service Mesh | Domain: Kubernetes
Service Mesh - Skill Check¶
Mental model (bottom-up)¶
A service mesh is a sidecar proxy per pod that handles mTLS, retries, traffic splitting, and observability without app changes. A control plane configures all proxies.
Visual stack¶
[App Container ] your code, unchanged
|
[Sidecar Proxy ] Envoy (Istio) or linkerd2-proxy (Linkerd)
|
[Control Plane ] Istiod / Linkerd control - configures proxies, issues certs
|
[Data Plane ] all proxies form the mesh network
Glossary¶
- sidecar proxy - container injected alongside app to intercept all traffic
- mTLS - mutual TLS; both sides present certificates for encryption + identity
- data plane - the set of all sidecar proxies handling traffic
- control plane - manages proxy configuration and certificate issuance
- VirtualService - Istio CRD for routing rules (traffic splits, retries, faults)
- DestinationRule - Istio CRD for backend policies (subsets, load balancing)
- TrafficSplit - SMI CRD used by Linkerd for canary traffic weighting
Core questions (easy -> hard)¶
- What problem does a service mesh solve?
- Cross-cutting concerns (encryption, retries, observability) without app changes.
- How does sidecar injection work?
- Mutating admission webhook adds proxy container to pods automatically.
- How does mTLS work in a mesh?
- Control plane is CA, issues short-lived certs to each proxy, auto-rotated.
- Istio vs Linkerd tradeoffs?
- Istio: more features, heavier (Envoy ~100MB). Linkerd: simpler, lighter (Rust ~20MB).
- What happens when the control plane goes down?
- Data plane continues with last-known config. Cert rotation eventually fails.
- How do you do canary deployments with a mesh?
- Traffic split CRD (SMI) or VirtualService (Istio) with weighted routing.
Wiki Navigation¶
Prerequisites¶
- Service Mesh (Topic Pack, L3)
Related Content¶
- Interview: Service Mesh 503s (Scenario, L3) — Service Mesh
- Runbook: Istio 503 Errors (Runbook, L3) — Service Mesh
- Service Mesh (Topic Pack, L3) — Service Mesh
- Service Mesh Drills (Drill, L3) — Service Mesh
- Service Mesh Flashcards (CLI) (flashcard_deck, L1) — Service Mesh