Argo CD and declarative GitOps

Reading Time: 2 minutes

Argo CD is a pull-based GitOps deployment device that synchronizes Kubernetes manifest lists with a group for simple, dedicated deployments.

In a push-based deployment, device like Ansible and Jenkins connect quickly to server or group and complete the provisioning instructions. For agreement or redemption reasons, connectivity within the deployment tool and the group may not be achievable.

Argo CD is a pull-based deployment device. It follows a distant Git repository for current or refreshed manifest lists and synchronises those varieties with the group.

Argo CD’s advantages

Argo CD is an almost lightweight way to k8s deployments.

The extra big benefit is that as the Git repo includes everything Argo CD challenges, you could destroy the complete Argo CD connection and established things up from start. This indicates taking up a second same group with your complete workload extended is now more reasonable and effective in the function of a catastrophic interruption.

Argo CD’s disadvantages

The big disadvantage of this method will be the arrangement effort over time. One opportunity to fix the position is to do some sort of arrangement/template method (like helm charts, kustomize, jsonnet, etc.) to determine the Kubernetes support of your request.

Automation Via Pipelines

You just require to replace the variant of the container image in the arrangement container. Argo CD will pull up the difference and operate over the new variant. Identify that this pipeline and the important conclusions pointing to reaching it are extremely customizable

Argo CD Automated Sync Policy

An advantage of computerize sync is that CI/CD pipelines do not need a direct way to that Argo CD API server to complete the deployment.

Tools for ArgoCD:

Production

  • Kustomize applications
  • Helm charts
  • Ksonnet applications
  • A directory of YAML/JSON/Jsonnet manifest, including Jsonnet.
  • Any custom config control device configured as a config control plugin

Development

A user with override support is needed to upload manifests restrictedly. All of the various Kubernetes deployment devices above are supported

Kustomize

  • nameSuffix is a suffix added to devices for Kustomize apps
  • images is a record of Kustomize image overrides
  • commonLabels is a sequence plan of added labels
  • commonAnnotations is a sequence diagram of an added notes

Helm

Values Files

Helm can use different, or even various files to derive its parameters from. The flag will repeated to support various values files:

Helm Parameters

Helm can set parameter values, which override any values in a value.yaml. For example, service. type is a common parameter that is displayed in a Helm chart. Similarly, Argo CD can revoke values in the values.yaml parameters applying argo app