As DevOps shifts towards infrastructure as code, Red Hat Advanced Cluster Management is here to help you realize management of your fleet, whether it's ten clusters or a thousand clusters!

In the latest release of Red Hat OpenShift GitOps, you will find Argo CD and ApplicationSets offer you a powerful GitOps solution. Advanced Cluster Management integrates with Argo CD, helping you extend your GitOps flows to all your OpenShift clusters.

In Advanced Cluster Management 2.3, the system has become Argo CD aware when using Red Hat OpenShift GitOps. What this means is that you are able to register all clusters managed by Advanced Cluster Management with all your Argo CD instances. This is done automatically based on Label Selectors.

Advanced Cluster Management introduces a new gitopscluster resource kind, which connects to a placement resource to determine which clusters to import into Argo CD. This integration allows you to expand your fleet, while having Argo CD automatically engage in working with your new cluster or clusters. This means if you leverage Argo CD ApplicationSets, your application payloads are automatically applied to your new clusters as they are registered by Advanced Cluster Management in your Argo CD instances.

See the following image of an Argo CD application:

image1-Sep-07-2021-02-30-51-61-PM

Now that you have seen how Advanced Cluster Management can help integrate your fleet into Argo CD, let me introduce you to how our Application Lifecycle Management has embraced Argo CD. With the latest release, Advanced Cluster Management is now able to display Argo CD applications, intermingled with Advanced Cluster Management's own subscribed applications. See the following image of mixed applications:

The Argo CD label denotes the application is from one of the Argo CD instances, and the count denotes whether or not Advanced Cluster Management was able to group a number of applications by a shared source. What this means is that Advanced Cluster Management is able to determine that the same application is deployed to multiple managed clusters (Kubernetes clusters that are managed by an Advanced Cluster Management hub cluster) and display that application as a single topology. See the following image of the topology in action:

image5-Sep-07-2021-02-30-51-60-PM

See the following image which shows the same number of applications as the topology, but in Argo CD:This roll-up of the same application deployed on multiple clusters is the same way we describe Advanced Cluster Management subscribed applications. This view gives you a clean topology that represents all the resources in the application. Each node in the topology contains a layer for each cluster the resource is deployed on. If any resource on any cluster has a problem, that cluster (or "layer") is brought to the forefront (becomes the first layer) so that it is obvious to the user that there is a problem.

image6-Sep-07-2021-02-30-51-70-PM
Using the Topology view is a very powerful way to view your applications that are otherwise individual application objects. With this view, it's very easy to zero in on an issue so corrective action can be taken.
Click the node in the topology to see exactly which cluster is having the problem. Additionally, for all resources, you can view the resource YAML and status. For specific resources like routes and pods, you will have access to the URL and logs respectively.

See the following image of a node's details:

image2-Sep-07-2021-02-30-51-65-PM
See the following image of a list:

image4-Sep-07-2021-02-30-51-63-PM

This view becomes even more powerful when you run Argo CD on your Advanced Cluster Management managed clusters. Using this policy link, you can have OpenShift Gitops deployed to all your OpenShift clusters (includes Argo CD and can be filtered to a subset of clusters). If you want to install ArgoCD on non OpenShift-Clusters like AKS, you can use the following policy, which is installing ArgoCD as a Helm-Chart. Red Hat Advanced Cluster Management then enables you to see any Argo CD applications created on those remote clusters in the Application Lifecycle list, similar to the subscribed applications. This is powerful as you are seeing applications defined by an Argo CD on a managed cluster, but you have exactly the same insights and visualizations as if it was deployed from the Argo CD running on the Advanced Cluster Management hub cluster.

image5-Sep-07-2021-02-30-51-60-PM

You can further extend this Edge scenario by delivering Argo CD application resources to these remote Argo CD installs with Advanced Cluster Management subscriptions.

image3 (1)

In this scenario, the ArgoCD Application.argoproj.io or Applicationset.argoproj.io is committed to a Git repository. The Advanced Cluster Management subscription then delivers this resource from Git to the managed (remote) cluster. Where the local Argo CD that was deployed by the policy mentioned above, acts on the Application resource and deploys the application’s manifest, link.

This level of introspection into the remote application deployment and topology allows you to monitor applications on your edge clusters (decentralizing the deployment work).

Conclusion

Throughout the blog we outlined how RHACM provides a flexible way to manage your Applications using Gitops for your fleet of Cluster giving users the choice to use their preferred approaches and benefiting from rich user interfaces. Read more in our offical documentation. We are also interested in your feedback on these new capabilities as we evolve them over time.

A special thanks to our technical editor from the product documentation team: Brandi Swope


Categories

GitOps, Red Hat Advanced Cluster Management, Multi-Cluster, OpenShift Pipelines, Argo CD

< Back to the blog