YAML manisfests
kubectl create namespace argocdbout it in our lives in my reason for the article the the yeah so i the reason one i duties and ago agua cd project need to trying to simulate the the because it a mandate apparently the current events in goal in the combines so they are used to now the most of the companies don't manually to the cd but of a kind of years ago cd of lots of some some kind of thoughts or i decided to years ago cd because i thought it didn't like the a better the cartoon made as a man or things immortal the company to use it on the company's on the so i thought i can to use
n
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl get pods -n argocd
Use of these pods
lets identify what each pod is doing.
-
argocd-application-controller-0
:- Role: This pod is responsible for managing the state of applications defined in Argo CD. It ensures that the desired state (as defined in Git repositories) matches the live state in the Kubernetes cluster by
reconciling
them. - Tasks:
- Syncing applications to their desired state.
- Monitoring for drifts between the desired and live states.
- Orchestrating operations like health checks and automated rollbacks.
- Role: This pod is responsible for managing the state of applications defined in Argo CD. It ensures that the desired state (as defined in Git repositories) matches the live state in the Kubernetes cluster by
-
argocd-applicationset-controller-7ff94fc879-87lbs
:- Role: This pod handles the ApplicationSet resources in Argo CD. It allows dynamic generation and management of multiple Argo CD applications based on templates.
- no need to think about this for now
- Tasks:
- Managing applications dynamically based on input parameters (e.g., cluster discovery, Git repository content).
- Scaling applications based on the number of environments, clusters, or configurations.
-
argocd-dex-server-84b879d87c-2d9q7
:- Role: This pod runs the Dex identity provider server, which provides single sign-on (SSO) and authentication for Argo CD.
- Tasks:
- Handling authentication through LDAP, SAML, GitHub, Google, or other identity providers.
- Issuing tokens for Argo CD users and systems.
-
argocd-notifications-controller-6c65b4b9f6-2bmr2
:- Role: This pod manages notifications in Argo CD. It is part of the Argo CD Notifications feature.
- this one introduced lately. there was no notification controller before version 2.0
- Tasks:
- Sending notifications (e.g., email, Slack, webhook) based on application events like sync success or failure.
- Customizing alert rules and templates.
-
argocd-redis-868dbb7cf4-4rf59
:- Role: This pod hosts a Redis instance used as a caching layer and message broker for Argo CD components.
- Tasks:
- Storing temporary data to improve the performance of the Argo CD API server and other components.
- Facilitating communication between components.
-
argocd-repo-server-6d47848766-97xbj
:- Role: This pod interacts with Git repositories to fetch manifests and perform application health and sync operations.
- even though gitops support any version control system argocd only supports git
- Tasks:
- Fetching repository data and keeping it up to date.
- Generating Kubernetes manifests from templates (e.g., Helm, Kustomize).
-
argocd-server-c9f58d8cf-fr4wg
:- this is the api server. all the cli and UI communication to argocd happens through this.
- this is similar to kubeapi server in kubernetes
Each of these pods plays a crucial role in enabling Argo CD’s declarative GitOps workflows for Kubernetes.
kubectl get svc -n argocd
kubectl port-forward svc/argocd-server -n argocd 8080:443
you can access the UI in one of two ways:
- Using port forwarding (simplest method):
kubectl port-forward svc/argocd-server -n argocd 8080:443
Then open your browser and go to: https://localhost:8080
- Using Minikube service (alternative method):
minikube service argocd-server -n argocd
This will automatically open your default browser with the correct URL.
For either method:
- Username:
admin
- To get the initial password:
there are two ways
method 1
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
method 2
but that password is on base64 form. you have to decode it like this to get the actual password
Note: When you access the UI, you’ll likely see a security warning because Argo CD uses a self-signed certificate. You can safely proceed by:
- Chrome: Click “Advanced” and then “Proceed to localhost (unsafe)”
- Firefox: Click “Advanced…” and then “Accept the Risk and Continue”
but we haven’t intergrated any SSO(single sign on) services with dex-server
that’s why we are not seeing anything like login with google, login with facebook etc.
I changed the my password.