You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using TrafficRouted canary strategy, you can often end up with only a single pod for a replicaset. For example, if you have 10 pods with <= 10% canary, the canary replicaset will only have a single pod. If the node that the pod is running on is ever drained (e.g. by the cluster-autoscaler doing a scale-down), there would be an interruption of service
What change needs making?
Adding a parameter to the TrafficRouted canary strategy specifying the minimum number of pod per ReplicaSet to use - even if the percentage calculation would otherwise require fewer pods (assuming the desired number of pods in this ReplicaSet is not zero). Using this in conjunction with Pod Disruption Budgets, can assure that there will be no outages
When would you use this?
Whenever you are using Traffic routed canary, but also require high availability.
# set canary scale to a explicit count without changing traffic weight
# (supported only with trafficRouting)
- setCanaryScale:
replicas: 3
# set canary scale to a percentage of spec.replicas without changing traffic weight
# (supported only with trafficRouting)
- setCanaryScale:
weight: 25
setCanaryScale was built for this purpose. We need to avoid adding feature complexity to the current calculations for canary vs. stable replica counts so don't think we should introduce a new feature that setCanaryScale should already be able to address.
I agree that this should be addressed by setCanaryScale, but please see #1779 where I show that we need to add a 'minReplicas' property to setCanaryScale
Summary
When using TrafficRouted canary strategy, you can often end up with only a single pod for a replicaset. For example, if you have 10 pods with <= 10% canary, the canary replicaset will only have a single pod. If the node that the pod is running on is ever drained (e.g. by the cluster-autoscaler doing a scale-down), there would be an interruption of service
What change needs making?
Adding a parameter to the TrafficRouted canary strategy specifying the minimum number of pod per ReplicaSet to use - even if the percentage calculation would otherwise require fewer pods (assuming the desired number of pods in this ReplicaSet is not zero). Using this in conjunction with Pod Disruption Budgets, can assure that there will be no outages
When would you use this?
Whenever you are using Traffic routed canary, but also require high availability.
See https://github.com/ssanders1449/argo-rollouts/pull/1/files for a proposed implementation
Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.
The text was updated successfully, but these errors were encountered: