DevOps (Day-87): Argo CD

DevOps (Day-87): Argo CD

Day 87: #90DaysOfDevOpsChallenge

ยท

3 min read

Dear Learners in today topic we will the discuss the Argo CD in Kubernetes.

How does Argo CD work?

Challengs with CD into Kubernetes?

1 Tools installation and management: Requires installing and managing tools like "kubectl" and "Helm".

2 Accessing Kubernetes Clusters: Configuring access management and sharing credentials for authorization to Kubernetes clusters.

3 Security & Operational Challenges: Increasing Configurations and operational overhead, along with security risks when Sharing cluster credentials.

4 Issues While scaling Infrastructure: Reconfiguration needed for each new cluster,adding complexity when scaling Kubernetes infrastructure.

5 Lack of Visibility: Limited visibility into deployments without GitOps or Kubernetes-native CI/CD pipelines,leading to unclear status and dependency on incident reports.

These challenges impact operational efficiency,security,scalability and visibility in CD workflows on Kubernetes.

What is GitOps?

GitOps is a Software development methodology and operational model that leverages Git as the single source of truth for managing and controlling the entire application lifecycle. It combines the practices of version control and declarative infrastructure to enable automated,audit able and reliable application deployments and operations.

No alt text provided for this image

GitOps Flow Diagram.

What is Argo CD?

Argo CD is an open-source continuous delivery and GitOps tool specifically designed for deploying and managing applications on Kubernetes clusters. It follows a declarative in Git repositories using YAML manifests. Argo CD Continuously monitors these repositories, compare the desired state with the actual state in the cluster and automatically reconciles any differences.

No alt text provided for this image

Argo CD Flow Diagram.

Advantages of Argo CD

1 Application Management:- Argo CD allows you to define and manage applications using YAML manifests. It provides a simple and intuitive way to specify the application source, target namespace, synchronisation settings and other parameters.

2 Continuous Synchronization: Argo CD constantly synchronizes the state of applications with their desired state in the Git repositories. It detects changes in the repositories and applies them to the cluster,ensuring that the deployed applications remain in sync with the defined configuration.

3 Rollouts and Rollbacks: Argo CD supports controlled rollout and the rollbacks of the application updates used for define the rollout strategies smooth transitions between the different versions of the application. In case of issues you can easily roll back to a previous known-good state.

4 Multi-Cluster Management: Argo CD can manage applications across multiple Kubernetes clusters. It provides a centralized control plane to deploy and synchronize applications across different clusters,simplifying the management of complex distributes systems.

5 GitOps Principles: Argo CD embraces the GitOps methodology which involved using Git as a single source of truth defining the desired state of applications. It leverages Git's version control capabilities allowing you to track changes audit configurations and collaborate effectively.

How does Argo CD Work?

No alt text provided for this image

How does Argo CD Work?

A Developer makes changes to an application and pushes a new version to a Git repo,along with a revised configuration for the Kubernetes resource definitions.

A Continuous integration pipeline is triggered, which results in a new container image being pushed to a registry.

Once the pull request has been reviewed and the changes mergerd to the main branch a webhook is triggered which notifies ArgoCD of new changes. ArgoCD clones the repo, compares the desired state of the application with the actual state running in the cluster and applies the changes.

At this point,Kubernetes takes over to reconcile the workload. The tracked repo might hold the config for an application that runs in the same cluster as ArgoCD but ArgoCD can also manage applications running in remote clusters The Workflow effectively installs or upgrades an application without a human interacting directly with the cluster.

Thank you for reading!! Hope you find this helpful.

#day87challenge#90daysofdevops

Always open to suggestions..!!

~ Manoj Bhamidipati ๐Ÿ™‚

Next Topic:

Day 88: Discuss the Kubernetes Architecture in detail.

ย