bookingcom / shipper

Kubernetes native multi-cluster canary or blue-green rollouts using Helm
Apache License 2.0
734 stars 38 forks source link

Fix dropping pods when moving back in the strategy #387

Closed hihilla closed 3 years ago

hihilla commented 3 years ago

Introducing the notion of steppingBackwards to the strategy executor

When a current release is not steppingBackwards (standing or moving forward in the strategy - the most common states) shipper will:

  1. increase capacity to current
  2. increase traffic to current
  3. decrease traffic to previous
  4. decrease capacity to previous

When a release is moving back in the strategy (steppingBackwards), this process will cause pods dropping. So when a release in steppingBackwards, shipper will first move capacity and traffic to the previous release and then reduce traffic and capacity from current release.