Service Mesh Platform  ·  View 24 of 31  ·  6 · Operations

Proxy Fleet Upgrade

A new mesh version is installed next to the old one, namespaces move to it in waves, and an abort leaves a mixed fleet that still works.

Editable source SVG draw.io All views
Install Wave 1 · 5% Wave 2 · 30% Wave 3 · 100% Retire Control plane 1.N+1 beside 1.N Both revisions serve Both revisions serve 1.N has no proxies 1.N removed Namespaces Canary tag moved Low-risk namespaces Tier-2 namespaces Tier-1 namespaces Proxies Rolling restart · PDB Rolling restart · PDB Rolling restart · PDB Skew window closed Gate Conformance suite Errors · p99 · NACKs Errors · p99 · NACKs Errors · p99 · NACKs Zero proxies on 1.N Abort Retag to 1.N · restart Retag to 1.N · restart Stop · mixed fleet OK Proxy Fleet Upgrade — Two Revisions Side by Side A newer proxy never talks to an older control plane: each proxy connects to its own revision, so skew is held in both directions by construction. v 1.0 · owner Platform Networking Architecture · date 2026-09

Decisions

  • The control plane is never upgraded in place. The new istiod revision runs beside the old one; a namespace moves by changing its revision tag, and its pods restart onto the new proxy.
  • Each proxy talks to the istiod of its own revision. Version skew is held in both directions by construction rather than by trusting cross-version compatibility.
  • Abort is a retag and a rolling restart back. Stopping mid-way is a supported state that can last weeks.

Targets

  • One minor version of skew in each direction at any time. Upgrades at least quarterly, so the fleet never falls outside the upstream support window.

Risks

  • Restarting 40,000 pods is itself a load event on SPIRE and istiod. Waves are rate-limited to the issuance headroom of 2,000 a second per cluster and gated on PodDisruptionBudgets.