We currently have a setup where we want to version all of our services together, rather than having a separate version per service. For example, if there are changes in both Service A and Service B, we want to consider these changes as Version X, rather than thinking of it as "Service A is on Version X and Service B is on Version Y".
We have a Jenkins job which builds all of our images and triggers a pipeline in Spinnaker. The pipeline then uses Kustomize to generate a single manifest which contains all K8s replicasets/configmaps/etc necessary to run our application. We then use this manifest to deploy all of the images we've just built in Jenkins.
Everything works fine in the Deploy Manifest stage without a rollout strategy. Spinnaker correctly understands the different replicasets and their versions.
When attempting to add a rollout strategy, we get the error:
"Spinnaker can manage traffic for one ReplicaSet only. Please deploy one ReplicaSet manifest or disable rollout strategies."
Is there a plan to add support for rollout strategies for manifests with multiple replicasets in the future, or is there a better way we should be approaching this?
Hey @aimichelle, thanks for taking the time to open this issue!
One question I have is whether you would like to configure one rollout strategy that is the same for multiple ReplicaSets (so both workloads would receive traffic from the same service, and previous versions of each workload would be disabled/destroyed depending on the selected strategy), or if you would ideally want to configure a different set of rollout strategy options for each ReplicaSet you are deploying?
I've added discussion of this feature request to the agenda for the next Spinnaker Kubernetes SIG, (which you are most welcome to attend!), so we can get a sense of whether other users have thoughts on this.
Hi Maggie, thanks for the response!
We are more interested in the first case, where we would use the same rollout strategy for multiple ReplicaSets.
@aimichelle just submitted a few PRs to permit multiple ReplicaSets to be deployed with a single rollout strategy config in a Deploy (Manifest) stage. This change will likely go out with Spinnaker 1.18 (unless they are merged miraculously quickly before we cut the release branches for 1.17 tomorrow!).
Most helpful comment
@aimichelle just submitted a few PRs to permit multiple ReplicaSets to be deployed with a single rollout strategy config in a Deploy (Manifest) stage. This change will likely go out with Spinnaker 1.18 (unless they are merged miraculously quickly before we cut the release branches for 1.17 tomorrow!).