Solution Pattern: MultiCloud GitOps with ODF

1. Solution overview

This solution pattern brings an architectural solution for scenarios where code(GitOps) can be used for managing different Openshift clusters running across multiple clouds and deploying Red Hat ODF(software defined storage) on these clusters. RedHat ODF can be configured differently for each cluster as per the requirements through code.

The architecture demonstrates how ArgoCD with Red Hat ACM can manage different clusters and applications deployed on those clusters.

2. Use cases

Organizations are looking for a way to develop and deploy applications on Openshift clusters running in an open hybrid cloud in a stable, simple and secure way. In addition to it, they want to manage these clusters and applications through code. Common use cases that can be address with this architecture are:

  • Use GitOps(ArgoCD) to apply best DevOps practices in the environment.

  • Manage different Openshift clusters running in multiple clouds through RedHat ACM deployed in centralized Hub cluster.

  • Use RedHat ODF in the clusters for persistent storage of data.

  • Deploy Red Hat Quay with ODF as the backend. Quay can be used as private internal registry for storing container images.

3. The story behind this solution pattern

Kubernetes is an open-source container orchestration engine for automating deployment, scaling and management of containerized applications. It is being used heavily for production grade applications. Kubernetes clusters are being created and used in public and private clouds. Managing 100s of clusters across multi-cloud and running 1000s of applications on those clusters is cumbersome. Using GitOps(ArgoCD) and RedHat ACM, we can manage multiple kubernetes clusters as well as deployments of applications on those clusters. Majority of the applications need persistent storage. RedHat provides ODF as software defined storage solution which can be deployed across multiple clusters through GitOps.

4. The Solution

This solution pattern uses GitOps(ArgoCD) to manage Openshift Clusters and applications. ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes. ArgoCD follows the GitOps pattern of using Git repos as source of truth for defining the desired application state. Kubernetes manifests can be specified in several ways: kustomize or helm charts or jsonnet or yaml files. ArgoCD automates the deployment of the desired application states in the specified target environments. Application deployments can track updates to branches, tags or pinned to a specific version of manifests at a Git commit. In addition to this, multiple openshift clusters, running in hybrid cloud can be managed using RedHat ACM. RedHat ODF is also deployed and configured through ArgoCD in multiple clusters as per the requirement.

5. Explore more solution patterns

It’s time to boost your cloud-native application architectural design with bleeding-edge technology backed by open-source software. Explore the use cases and learn recommended solutions for each of these challenges: