Skip to content

fix(chart): replace the networks pod instead of rolling it - #8

Merged
vitramir merged 1 commit into
mainfrom
fix/recreate-strategy
Jul 29, 2026
Merged

fix(chart): replace the networks pod instead of rolling it#8
vitramir merged 1 commit into
mainfrom
fix/recreate-strategy

Conversation

@vitramir

Copy link
Copy Markdown
Contributor

Upgrading this service deadlocks. It binds a durable NATS consumer, and NATS permits exactly one binding at a time. A rolling update starts the new pod alongside the old one, so the new pod dies with subscribe group deleted events: consumer is already bound to a subscription, never becomes ready, and therefore the old pod is never retired — leaving the rollout stuck with the new pod in CrashLoopBackOff.

Recreate takes the old pod down first. That costs a few seconds of downtime per upgrade, which is the honest trade for a service that cannot run two copies concurrently. (replicaCount is already 1; the default maxSurge: 25% rounds up to one extra pod, which is enough to trigger it.)

Confirmed against a live cluster: with RollingUpdate the new pod crash-looped through five restarts and the rollout never completed; patching the deployment to Recreate let it finish immediately, and the service now runs the published multi-arch 0.1.1 image and serves.

Upgrading the service deadlocked. It binds a durable NATS consumer and
NATS permits one binding at a time, so the rolling update's extra pod
started, failed with

  subscribe group deleted events: consumer is already bound to a subscription

and never became ready — which meant the old pod was never retired, so
the new one could never succeed. The rollout sat there indefinitely with
the new pod in CrashLoopBackOff.

Recreate takes the old pod down first. That costs a few seconds of
downtime on upgrade, which is the honest trade for a service that cannot
run two copies at once.

Confirmed against a live cluster: with RollingUpdate the new pod
crash-looped through five restarts and the rollout never finished;
patching the deployment to Recreate let it complete immediately.

Co-Authored-By: Claude <noreply@anthropic.com>
@vitramir
vitramir merged commit 9e2aabc into main Jul 29, 2026
1 check passed
@vitramir
vitramir deleted the fix/recreate-strategy branch July 29, 2026 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant