Does Argo Rollouts support non-deployment resource? #1346
-
Hi team, I have a question regarding the use of Argo Rollouts. I read through some Argo Rollouts materials where the demos always use |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 4 replies
-
Hello You can reference an existing deployment instead of converting to a rollout https://argoproj.github.io/argo-rollouts/migrating/#reference-deployment-from-rollout if you are asking this.
What other resources do you have in mind that you would like to use Argo Rollouts for?
For getting started, I think deployments are the easiest way to go. No? |
Beta Was this translation helpful? Give feedback.
-
Rollouts is not able to work with CRDs or even other native K8s kinds (StatefulSet, DaemonSet) because the implementation of a Rollout maps closely to Deployments, in that it manages ReplicaSets. While it would be easy to add support to reference other Kubernetes kinds using the |
Beta Was this translation helpful? Give feedback.
-
Supporting rollout for CRD or any other arbitrary Kubernetes resource would definitively a good use-case for the Argo Rollouts. Imagine someone working on high-scale environment want to change a critical ConfigMap or CRD and should be carefully tested on each cluster/node. What I want from Rollouts is that it should completely replace the resource that I want to apply on production, in case any error observed it should rollback the previous state. Due to restrict implementation of Rollout maps closely to Deployments, this lead us to look at what the other Argo alternatives around there are. Which actually we don't want to in the first place. Are there any proposal or roadmap plan for this? It would be great to address this idea. @dthomson25 @jessesuen |
Beta Was this translation helpful? Give feedback.
-
Native statefulset or openkruise advanced statefulset are also needed to rollout with more control, such as blue-green/halt. |
Beta Was this translation helpful? Give feedback.
Rollouts is not able to work with CRDs or even other native K8s kinds (StatefulSet, DaemonSet) because the implementation of a Rollout maps closely to Deployments, in that it manages ReplicaSets.
While it would be easy to add support to reference other Kubernetes kinds using the
workloadRef
feature, it would be for the sole purpose of obtaining the PodTemplate definition in that other kind. It would not exhibit the behaviors of that resource kind. For example, even if we added support the Rollout to reference a DamonSet, the Rollout would still not act like a DaemonSet by deploying a pod on every node. For that, we would need/want to introduce a new kind (e.g. RolloutDaemon).