Interview › Istio & Service Mesh
How would you implement a canary deployment progressively shifting traffic with Istio?
Istio & Service Mesh · Basic level
Answer
I implement progressive canary by deploying the new version beside the stable version, routing a small percentage with Istio, validating telemetry and business checks, then increasing traffic in controlled steps. If SLOs degrade, I immediately set the canary weight back to zero.
Technical explanation
Start with 1 to 5 percent or header-only traffic, depending on risk.
Use automated gates for p95 latency, 5xx rate, dependency errors, and application-specific correctness signals.
Keep the old version deployed until the new version has survived normal and peak traffic.
Hands-on example
Rollout sequence:
1. Deploy checkout v2 with label version=v2.
2. Create DestinationRule subsets stable and canary.
3. Set VirtualService weights 99/1.
4. After metrics pass, move to 95/5, 90/10, 75/25, 50/50, 100/0.
5. Roll back by applying the previous VirtualService from Git.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Istio & Service Mesh interview questions
- What is Istio, and what are the core capabilities it provides?
- What is the difference between the Istio control plane and data plane?
- What is istiod, and what does it do?
- What is Envoy, and what role does it play in Istio?
- What is the sidecar pattern, and how does Istio inject the proxy?
- How does automatic sidecar injection work (namespace label, webhook)?
- What is the Istio ambient (sidecarless) mode, and how does it differ from sidecar mode?
- What is the difference between ztunnel and a waypoint proxy in ambient mode?