Interview › Istio & Service Mesh
What are Istio revisions and revision tags, and why use them for upgrades?
Istio & Service Mesh · Intermediate level
Answer
Istio revisions identify different installed control-plane versions, and revision tags provide stable labels such as stable or canary that point to a specific revision. They are used to control which workloads get injected with which sidecar version during upgrades.
Technical explanation
A namespace can be labeled istio.io/rev=1-27 or istio.io/rev=stable.
Tags decouple application namespaces from raw version names, making promotion and rollback simpler.
They also support canary control-plane validation without reconfiguring the entire cluster.
Hands-on example
Example:
$ istioctl tag set stable --revision 1-27
$ istioctl tag set canary --revision 1-28
$ kubectl label namespace payments istio.io/rev=canary --overwrite
$ kubectl rollout restart deploy -n payments
If canary fails, point the namespace back to stable and restart only that namespace.
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?