GitOps: Argo cd and application deployment demo – Part I

Hello Friends, today I share a beautiful GitOps tool, for deployment applications in Kubernetes environments. This tool is essential for developers that create code for microservices solutions and need to take control of releases deployed.

It’s necessary some requisites:

  • Kubernetes Cluster o minikube environment (non-production solution, only local development for learning.)
  • Git repository, maybe GitLab or GitHub. In this example, I used a GitHub repository.

ArgoCD GitOps Advantages

When we think of GitOps, ArgoCD becomes the first place in our minds.

So the principal uses :

  • Comparing the desired status of the application with the current state of the application in the cluster.
  • The desired status was saved in the git repository.
  • Argo makes the necessary changes were made for updates in the git repository. (Automatically or not.)
  • Argo can roll back changes if it is necessary.
  • Argo has an intuitive and user-friendly web interface.
  • Argo has a command line tool if you want automated many processes.

Deploying Argocd

As with any Kubernetes application, we need to create a namespace

kubectl create ns argocd

Apply the Argocd deployment, from the official git repository.

kubectl apply -n argocd -f

Getting all installing objects in argocd namespace, to verify the installation.

now, as you look at all services deployed, log in to the web interface for an easy way to deploy the application.

ArgoCD Web Interface

Argocd has a web interface to make easy the administration or development activities for developers.

So, this web interface shows the deployment desired, the changes that had been committed in the repository, the exact line of code modified, or the name of the releases. Among other things, check the releases, use some plugins to implement the canary concepts or apply the root/child strategy.

To obtain the default pass created on our deployment, its necessary to run a kubectl command:

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

next step, forward the port and service to your local computer:

kubectl port-forward svc/argocd-server -n argocd 8080:443

Now, put in the browser the URL localhost:8080 and show the message: “Your connection is not private”, don’t worry about this message, because in the future you’ll configure the certificate with the GitOps tool.

Click on the Advance button, and accept. Immediately, the browser redirects to the login page. Introduce the “admin” user and the password obtained previously.

Welcome to the Argo interface!

In the next article, you’ll add the repository and deploy an application!


See you in the second part where we will learn how to deploy some easy applications. !