Using CRDs with multi-clusters #1350
-
|
I'm trying to migrate from using annotations to the new CRDs with v1 🙌 However, I'm not sure of the best way to configure things for our setup. We have two clusters. ArgoCD runs on cluster With annotations this was straightforard, because I just added the annotations to the Applications on cluster When attempting to migrate, I removed the annotations and used the new ImageUpdater CRDs for each application instead. What I didn't foresee was that the application attempted to deploy the ImageUpdater resources to the target cluster alongside the other resources, but that doesn't work on cluster It seems the expected solution is to deploy the ImageUpdater resources in cluster Am I missing something? Does anyone else have a good solution for this? For context, this is what I'm trying to migrate from annotation-based to CRD-based:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
|
Thanks for asking, your assumptions are correct.
You don't need to install Image Updater controller to the cluster So the CR can look like this: |
Beta Was this translation helpful? Give feedback.
-
|
Not directly related to the problem described but directly related to v1 CRD based image update + multicluster + appsets. With applicationSets we were able to patch image tags,repos etc of the argocd image updater annotations making it quite easy to separate dev and platform concerns. Devs could only care about a single file in a repo, and the appsets would create applications and configure image update automation based on the values they configure. Now with V1 we cannot use annotations on ArgoCD Applications anymore removing the possibility for that type of split between dev concerns and platform concerns in a centralized ArgoCD multicluster scenario. Since we only have argo installed in a single cluster (mgmt cluster) we cannot create ImageUpdater CRs in the spoke clusters (as described in the scenario over). Hence we need to create it in the mgmt cluster, but since the image repo and tagging is a developer concern, it makes it a lot harder to solve now that we cannot use annotations and patching within ApplicationSets. It breaks with our current setup... I don't say that i really enjoy ApplicationSets as they are not always intuitive when glancing at them, but they are nice in regards to not writing duplicate code, and making the code more static, and not relying that much on kustomization and difficult overlay structures.
|
Beta Was this translation helpful? Give feedback.
Thanks for asking, your assumptions are correct.
You can use Image Updater with multi-cluster setup with 1 restriction:
Applicationresources are managed. You can install these resources to any namespace though.You don't need to install Image Updater controller to the cluster
Bto create Image Updater CRs there, you need to install only CRD. But it makes no sense. Controller just doesn't "see" CRs on the clusterB.So the CR can look like this: