Lesson 1 · Service-mesh fundamentals
What a service mesh is
A layer that routes, secures, and observes service-to-service traffic — without touching your app code.
Your win: explain what a service mesh does, the split between the Envoy data plane and the istiod control plane, and why you'd add one on top of the Kubernetes Services you already have.
The gap a plain Service leaves
Course 2 gave you a Kubernetes Service: a stable name in front of Pods, doing basic L4 load-balancing. That's enough to reach a service — but it can't: route by request path, retry a failed call, split traffic for a canary, encrypt service-to-service traffic, or tell you the per-request latency and error rate. Those are L7 (application-layer) concerns. A service mesh is the infrastructure layer that adds them — and Istio's key trick is that it does so without changing your application code.1
Two planes
Istio splits into a data plane and a control plane:2
| Plane | What it is | Does |
|---|---|---|
| Data plane | the Envoy proxies (one sidecar per Pod) | carries the traffic — routing, mTLS, retries, and emits telemetry |
| Control plane | istiod (one binary) | service discovery; turns your high-level rules into Envoy config and pushes it; acts as the CA that issues identities |
You write intent (a VirtualService says "route /foo to service X"); istiod
compiles it into low-level Envoy config and ships it to every sidecar. The sidecars do the
work.
istio-base, istiod, and istio-ingressgateway — under
deployments/helm/platforms/istio/ (Course 3's Helm, again). Your
gRPC services already run inside this mesh: each Pod has an Envoy sidecar, and the
istio_requests_total metric that drives your KEDA autoscaling (Course 2 L9) is
emitted by those sidecars. So you've been benefiting from the mesh without configuring it.
Istio docs — What is Istio? + Architecture
The service-mesh idea, and the data-plane/control-plane/istiod split. The canonical starting point.
Check yourself (from memory)
Q1. A service mesh's defining trait is that it adds routing/security/telemetry…
Q2. The data plane is made of…
Q3. istiod's roles include…
istio_requests_total (→ KEDA) comes from the sidecars.
Used here for routing + edge TLS + telemetry, NOT mTLS/zero-trust.2. Istio — Architecture (data plane, control plane, istiod).