How-tos

Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2

Share this post:

IBM Multicloud Manager 3.1.2 is introducing GitOps support with Argo CD

GitOps and multicloud may be two of the trendiest cloud-native technologies (or buzzwords) for 2019. But, did you know that you can combine the two concepts? You can now use IBM Multicloud Manager 3.1.2 with Argo CD as a technical preview to achieve declarative and automated deployment of applications to multiple Kubernetes clusters.

What is GitOps?

The term GitOps was coined by Weaveworks at 2017 (although the concept has started to emerge a bit earlier), borrowing and combining elements from continuous delivery, infrastructure as code, and Kubernetes’ natural affinity for declarative infrastructure. At its core, GitOps refers to a set of practices and tooling that puts Git at the center of the DevOps toolchain and makes it the source of truth for what should be deployed on the cluster. With GitOps, developers and operators use familiar Git workflows to define, review, approve, and audit changes to their infrastructure and applications, whereas automated tools take care of synchronizing the live state of their cluster with the desired state described in Git.

What is Argo CD?

Argo CD is a GitOps-style continuous delivery tool for Kubernetes and is part of the larger Argo family of open source projects, primarily supported by Intuit. Despite being only recently launched, Argo CD is arguably one of the best open-source GitOps tools to date due to its extensive feature-set, stability, robust and scalable implementation, effective documentation, and open and active community.

These are some notable features of Argo CD, and many of these are unique among GitOps tools:

  • Multiple Git repositories and cluster destinations
  • Multiple manifests template formats (e.g., Helm, Ksonnet, Kustomize) or plain YAML manifests
  • Git branch tracking or tag/commit pinning
  • Automated or manual synchronization
  • Pruning of deleted resources
  • Rollback/roll-anywhere
  • Declarative management of its own configuration
  • Continuous monitoring of deployed applications
  • Audit trail and history for application events and API calls
  • Health assessment statuses on all components of the application
  • Web console, CLI, and gRPC/REST API
  • SSO Integration (OIDC, LDAP, SAML 2.0, and others)
  • Role-based access control
  • Webhook integration (GitHub, GitLab, BitBucket)
  • PreSync, Sync, PostSync hooks for complex application rollouts (e.g., canary upgrades, blue/green)

Combining Argo CD with IBM Multicloud Manager

IBM Multicloud Manager is a recently launched product from IBM, offering three primary value-adds for organizations running a multicloud strategy:

  • Visibility across clouds
  • Automated application deployment across clouds
  • Compliance policies management and enforcement across clouds

IBM Multicloud Manager’s management components run on top of an IBM Cloud Private Kubernetes cluster (dubbed the hub-cluster) which manages and controls a fleet of managed-clusters running the IBM Multicloud Manager Klusterlet agent. Developers and operators can then interact with the hub-cluster to create template resources that describe applications and compliance policies to be deployed and enforced in the managed-clusters. While the Klusterlet agent works best with IBM Cloud Private clusters, it can also be installed in the following public cloud Kubernetes platforms:

IBM Multicloud Manager 3.1.2 bundles Argo CD as a technology preview feature. Argo CD’s GitOps capabilities complement IBM Multicloud Manager’s automated deployment and enforcement capabilities by allowing users to manage their applications and compliance configuration resources in a centralized Git repository and achieve end-to-end automated deployment and enforcement from their Git repository, down to the last of their managed clusters.

What’s next?

See Argo CD documentation and IBM Multicloud Manager Knowledge Center to learn more about these two products.

You’ll want to check out our follow-up blog post, where we’ll go in-depth with a hands-on example on how to apply GitOps practices and deploy a multicloud application using IBM Multicloud Manager 3.1.2 and Argo CD.

Software Engineer

More How-tos stories
April 24, 2019

How To Use IBM Cloud Object Storage with Veeam

As you may have heard, Veeam 9.5u4 now includes an integration with IBM Cloud Object Storage. This integration can result in up to 10x savings on long-term data retention and an overall reduction in IT and primary storage costs.

Continue reading

April 23, 2019

Introducing Private Service Endpoints in IBM Cloud Databases

We recently released an update to all IBM Cloud Databases which allows you to enable public and/or private service endpoints for your database deployments. In this post, we’ll walk you through the setup.

Continue reading

April 11, 2019

How to Automate TLS Certificate Rotation to Avoid Outages

In this post, we'll share how you can make sure you have end-to-end protection for data in transit without running into any TLS certificate expiry issues.

Continue reading