Deploy application on Argocd
What Is Argo CD?
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
Declarative : A system managed by gitops must have its desired state expressed declaratively.
Versioned and Immutable : Desired state is stored in a way that enforces immutability , versioning and retains a complete version history.
pulled automatically : Software agents automatically pull the desired state declarations from the source.
Continuously reconciled: Software agents continuously observe system state and attempt to apply the desired state.
Architecture of Argocd:
Repo Server: In the context of Argo CD, the Repo Server is a component responsible for interacting with the Git repositories that store your application and configuration manifests.
The Repo Server watches the Git repositories for changes and fetches updates. It then provides this information to the Argo CD Controller.
Application Controller (Argo CD Controller):
The Application Controller, also known as the Argo CD Controller, is the core component of Argo CD responsible for managing and reconciling the state of applications deployed on Kubernetes.
API Server:
- In Kubernetes, the API Server is a critical component of the control plane. It provides the API for interacting with the Kubernetes cluster.
Dex (Identity and Authentication Provider):
Dex is an open-source identity and authentication provider commonly used in Kubernetes clusters.
Redis : Is a open -source in-memorydata storethat is often refered to as a data structure server.
Advantages of gitops:
security
versioning (track of changes)
auto upgrades
auto healing of unwanted changes
continuous reconciliation
1. Install Argo CD
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl get pods -n argocd -w
kubectl get svc -n argocd
kubectl edit svc argocd-server -n argocd
Note: In type section change ClusterIP to NodePort
minikube service list -n argocd
minikube srvice argocd-server argocd
Note: After that you can copy the url and paste it on your browser
kubectl get secret -n argocd
kubectl edit secret argocd-initial-admin-secret -n argocd
Note: Know copy the password and use the following command to decode the password and username is admin
echo (your password) | base64 --decode
Step 1: Then click on create application
Step 2: You can refer this url
https://github.com/argoproj/argocd-example-apps/tree/master/guestbook
Subscribe to my newsletter
Read articles from Shreyash Bhise directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Shreyash Bhise
Shreyash Bhise
*Shreyash Bhise | Aspiring Mern Stack Developer and DevOps enthusiast,