As organizations embark on their hybrid cloud journey, they are more and more often faced with the challenges of managing multiple OpenShift and Kubernetes clusters and the complexities of delivering applications consistently and predictably on these multi-cluster environments. GitOps is a declarative approach to continuous delivery that has proven to be an effective strategy for addressing these challenges in multi-cluster environments.
GitOps principles advocate for treating Git as the single source of truth and take advantage of established Git workflows to drive cluster operations and application delivery to ensure predictably, security, visibility, and repeatability. GitOps allows for maintaining full transparency through \ Git audit capabilities and provides a straightforward mechanism to roll back to any desired version across multiple OpenShift and Kubernetes clusters.
In order to simplify adoption of GitOps principles on OpenShift for managing cluster configurations and delivering applications in multi-cluster environments, we are excited to announce OpenShift GitOps, built on Argo CD, which is included in the OpenShift subscription via OperatorHub and is now available as Tech Preview.
Argo CD is a popular CNCF project with a vibrant community for continuous delivery through GitOps. Red Hat joined forces with Intuit and other community members a few months ago to collaborate and expand Argo CD to address use cases faced by enterprise customers in multi-cluster Kubernetes environments. OpenShift GitOps is the result of this collaboration, bringing Argo CD into the OpenShift ecosystem and providing seamless integrations with OpenShift operations and developer tooling.
Argo is already being used by companies like IBM, Intuit and Major League Baseball. Saradhi Sreegiriraju, Vice President, Product Management at Intuit, said:
“Argo, an Incubation project in CNCF, is being used in production by hundreds of companies adopting GitOps. Many customers are looking for enterprise support and solutions and the Argo community is thrilled to have Red Hat support the community and customers. It is great to see Argo CD as an integral part of the OpenShift ecosystem and Red Hat contributing back to upstream Argo CD. The community looks forward to continued contributions and support from Red Hat.”
What is OpenShift GitOps?
OpenShift GitOps is an OpenShift add-on which provides Argo CD and other tooling to enable teams to implement GitOps workflows for cluster configuration and application delivery. OpenShift GitOps is available as an operator in the OperatorHub and can be installed with a simple one-click experience. Once installed, users can deploy Argo CD instances using Kubernetes custom resources.
Using Argo CD, teams can sync the state of OpenShift and Kubernetes cluster configurations and application deployments with Git repositories either manually or automatically with any change made in the Git repository. Furthermore, Argo CD increases visibility into the state of clusters and applications by identifying drifts and correcting them if the cluster or workloads deviate from the desired states. Taking advantage of OpenShift GitOps with Argo CD enables teams to have full visibility and traceability into changes rolled out to clusters, whether they originate from cluster configurations or application deployments. Every change is represented with a commit in the Git history of the repository. In addition, Argo CD emits Kubernetes events for changes pushed to the clusters in order to complement the Git history and provide a comprehensive view and timeline of updates on the cluster.
While Argo CD provides the foundation for OpenShift GitOps, many teams struggle to find the right combination of tools and guidelines for a successful GitOps-based continuous delivery adoption. To that end, OpenShift GitOps provides GitOps Application Manager CLI which assists teams to get started with an opinionated GitOps workflow using Argo CD and OpenShift Pipelines.
GitOps Application Manager CLI simplifies GitOps adoption by bootstrapping Git repositories with recommended layouts for continuous delivery, and configuring Argo CD to sync configurations across multiple OpenShift and Kubernetes environments. Furthermore it uses Kustomize for providing environment-specific configurations, and OpenShift Pipelines (Tekton) for continuous integration on every change in the Git repositories before trigger deployments to the clusters via Argo CD.
In order to try OpenShift GitOps, install the OpenShift GitOps operator through the OperatorHub in OpenShift 4.6 and follow this Getting Started Guide for a quick intro to OpenShift GitOps. For a more detailed walkthrough check out our recent GitOps Happy Hour video.