Create two Kubernetes Services: one for active traffic and one for preview traffic, both selecting the same label key but with different values managed by Rollouts.
Define a Rollout resource with spec.strategy.blueGreen.activeService pointing to the active Service and spec.strategy.blueGreen.previewService pointing to the preview Service.
Set autoPromotionEnabled: false so the new ReplicaSet stays in preview until you manually approve, or set autoPromotionSeconds to a positive integer for automatic promotion after a delay.
Optionally add prePromotionAnalysis and postPromotionAnalysis blocks referencing an AnalysisTemplate to gate the promotion on metric health.
Use kubectl argo rollouts promote <rollout-name> to advance from preview to active when satisfied, or kubectl argo rollouts abort to roll back.
Monitor status with kubectl argo rollouts get rollout <rollout-name> --watch and confirm the active Service selector updates to the new pod hash.
Known gotchas
Argo Rollouts injects a unique pod-template-hash into both Service selectors automatically; if you manually add selectors that conflict, traffic routing will break.
Setting scaleDownDelaySeconds too low can cause the old (green) ReplicaSet to terminate before in-flight requests finish; tune it to match your connection-drain timeout.
previewReplicaCount limits the number of preview pods but if set below the desired replica count, the preview stack will never reach a Ready state for analysis.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp