Blog

Install Argo CD on the Kubernetes cluster

Picture of Boyan Kirov
Boyan Kirov
DevOps & Cloud Engineer
26.08.2022
Reading time: 2 mins.
Last Updated: 29.07.2024

Table of Contents

What Is Argo CD?

Source: https://argo-cd.readthedocs.io/en/stable/

Argo CD is a declarative, Kubernetes-native GitOps continuous delivery (CD) tool. Argo CD is unique as it can pull updated code from Git repositories and deploy that code directly to Kubernetes resources. On the contrary, external CD tools only permit push-based deployments. Argo CD helps manage both infrastructure configuration and application updates in a single system.

Some of the key benefits and features of using Argo CD are mentioned below:

  • Argo CD allows for manual or automatic deployment of applications to a Kubernetes cluster.
  • The role-based access control (RBAC) allows for multi-cluster management.
  • Moreover, it enables the automatic synchronization of the application state to the most current version of the declarative configuration.
  • It supports single sign-on (SSO) with providers such as GitHub, LDAP, Microsoft, GitLab, LinkedIn, OAuth2, OIDC, and SAML 2.0.
  • In it there are features for command-line interface (CLI) and a Web user interface.
  • It enables you to visualize deployment problems, and detect and edit the configuration error.

Why use Argo CD? By using it:

  • We can deploy in different environments and clusters from a single source.
  • All Deployment, Istio, or ConfigMap config changes are dynamically and instantly emulated in all production clusters. We can easily monitor synchronizations and their current state dynamically with Argo CD UI and all notifications sent.
  • We dispose of the two-sided syncing feature. ArgoCD catches on all changes on the configurations and syncs Kubernetes. Moreover, it apprehends every deviation that appeared in Kubernetes and syncs it back to the desired state. Without this key feature, all Kubernetes resources would be asynchronous until the next deployment.
  • Relocating an application from one cluster to another is easily achievable via a single line change in the target cluster.

How to install Argo CD on Kubernetes cluster

First, we head to the link for the Argo CD project. Next, we have to create a separate namespace for the Argo itself.

kubectl create namespace argocd
kubectl create namespace argocd

Afterward, we need to install Argo CD in this namespace as it is shown below: 

kubectl apply -n argocd -f 
https://raw.githubusercontent.com/argoproj/argo-cd/master/manifests/install.yaml

And then let`s check the deployments:

kubectl get all -n argocd
Check deployments Kubernetes Argo CD kubectl get all -n argocd

If the pods are ready, Argo CD is up and running. However, the Argo CD API server is not accessible outside the cluster. We have to  resolve this by using post-forward to expose a port to the service and then forward it to the localhost as seen below:

ubectl port-forward svc/argocd-server -n argocd 8080:443  
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080

After that, we can access the API server with the help of localhost:8080.

Argo CD get stuff deployed
Success!

Leave a Reply

Your email address will not be published. Required fields are marked *

More Posts

Introduction Integrating Alertmanager with Microsoft Teams enables you to receive alerts directly in Teams channels, facilitating swift collaboration with your team to address issues promptly. This guide will use Prometheus-MSTeams,...
Reading
Managing Terraform locals efficiently is crucial for creating clean, maintainable, and reusable configurations. This guide will cover what Terraform locals are, how to implement them, and best practices for their...
Reading
Get In Touch
ITGix provides you with expert consultancy and tailored DevOps services to accelerate your business growth.
Newsletter for
Tech Experts
Join 12,000+ business leaders and engineers who receive blogs, e-Books, and case studies on emerging technology.