The second difference is the scope the tools work within – Flux works only inside the cluster like typical Kubernetes Operator so it can effectively manage only one cluster. Hi @alexmt, thanks for your answer and you are completely right. In order to manage the staging and production clusters, ArgoCD needs access to those clusters. The CLI makes this easy. The ArgoCD engine is deploying and monitoring all application components until both states are identical. ArgoCD can manage multiple clusters from a single installation, but for simplicity, in our example, we install Argo CD instances in each cluster. Running multiple instances¶ Generally, multiple instances of Argo CD Image Updater can be run within the same Kubernetes cluster, however they should not operate on the same set of applications. The objective is to connect multiple kubernetes clusters via Argo CD to this repo and whenever I push changes in this repo, they will automatically apply the changes. I was having a duplicate application name and it is now fixed. Add the clusters to ArgoCD. Run the following command: ArgoCD will need to run on its on Namespace. One of: text | json (default " text ")--loglevel string Set the logging level. Add two new clusters to ArgoCD (i.e., staging and production) to serve as the two clusters: List the Kubernetes cluster contexts that are configured in your local Kubernetes configuration file: Create or use an existing Google Cloud Platform project (demo purposes but any clusters should work) Clone this repository to your computer, cd to multi-cluster-argo-demo Easily Manage Multiple Kubernetes Clusters with kubectl & kubectx. Clusters. verify. The git state essentially reflects the cluster state at all possible times. Follow below steps to install ArgoCD onto your OpenShift Container Platform. ArgoCD Preparation. To deploy a workload to multiple clusters, GitOps tools like ArgoCD are perhaps a simpler approach. it can be used to merge multiple configs into one config. Google Anthos comes with Anthos Config Management to achieve the same goal. After the deployment has finished, we know that the state of the cluster is exactly the same as described in git. Usage. Install, it’s quite simple, unzip and move it to /usr/bin/ ... login argocd server and list cluster [root@localhost ~]# argocd login --insecure grpc.argocd.gosysops.com add second kubernetes . Install ArgoCD on OpenShift Cluster. We’ll have to setup RBAC and access credentials for ArgoCD to connect to the cluster that we just created. In conclusion, Kubefed is an elegant solution to the multi-cluster problem, working reasonably well, but other solutions exist. Kubecm is a free software tool that can manage multiple kubernetes config. Check argocd-image-updater --help for a list of valid command line flags, or consult the appropriate section of the documentation. Choose the right context name from the list and supply it to argocd cluster add CONTEXTNAM.. argocd cluster add ¶ argocd cluster add CONTEXT ... (Can be repeated multiple times to add multiple headers, also supports comma separated headers)--insecure Skip server certificate and domain verification--logformat string Set the logging format. gcloud container clusters get-credentials gke-argocd --zone us-central1-a Adding an external cluster to ArgoCD. Step 1: Create Project namespace. Thing is that I have same set of applications to deploy in multiple clusters with ArgoCD and then I have to create one application for each destination cluster with a different name (like prefixing the cluster name) to make it work. To grant Argo CD access to manage resources in the argocd-managed project, add a new cluster called “argocd-managed” using the following command: $ argocd cluster add $(oc config current-context) --name=argocd-managed --in-cluster --system-namespace=argocd --namespace=argocd-managed You may have noticed a few interesting options in the above