Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.
- Application definitions, configurations, and environments should be declarative and version controlled.
- Application deployment and lifecycle management should be automated, auditable, and easy to understand.
To learn more about Argo CD go to the complete documentation. Check live demo at https://cd.apps.argoproj.io/.
- Create the namespace
argocd
:
kubectl create namespace argocd
- Install
argocd
resources in Kubernetes:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
- Ensure that all the resources are up and running:
kubectl get pods -n argocd
NAME READY STATUS RESTARTS AGE
argocd-application-controller-0 1/1 Running 0 9h
argocd-applicationset-controller-7c86dd8cd7-hq2c4 1/1 Running 0 9h
argocd-dex-server-786fb4b8b-nrj4t 1/1 Running 0 9h
argocd-notifications-controller-7c946895bb-lcj5v 1/1 Running 0 9h
argocd-redis-598f75bc69-pcvhh 1/1 Running 0 9h
argocd-repo-server-648db4756c-ds62c 1/1 Running 3 (8h ago) 9h
argocd-server-6cfb678659-kmmrc 1/1 Running 2 (8h ago) 9h
- Configure
port-forward
toargocd
dashboard:
kubectl port-forward svc/argocd-server -n argocd 8080:443
- Instead of port forwarding, you can also patch the service of
argocd-server
from typeClusterIP
to typeLoadBalancer
as below:
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'
- Log into the dashboard - https://localhost:8080, with username
admin
and password retrieved as below:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo
qFmxbSUvjDblJ4mW
- Deploy the example application
sock-shop
from https://github.com/argoproj/argocd-example-apps in the dashboard:
- Check the overview of the application
sock-shop
in the dashboard:
The things to pay attention to are as below:
- The images pulled for
argocd
are as below:
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/argoproj/argocd v2.5.8 ea3fb8e9ac54 17 hours ago 369MB
redis 7.0.7-alpine 26b875a60c63 2 weeks ago 29.9MB
ghcr.io/dexidp/dex v2.35.3 0dcae8edf686 3 months ago 90.3MB
- Remove the example app images by
docker rmi $(docker images | grep weaveworksdemos | tr -s ' ' | cut -d ' ' -f 3)
.
- https://argo-cd.readthedocs.io/en/stable/developer-guide/running-locally/
- https://github.com/argoproj/argo-cd/blob/master/docs/developer-guide/running-locally.md
- https://argoproj.github.io/argo-workflows/quick-start/
- https://github.com/argoproj/argo-workflows/
- https://github.com/argoproj/argocd-example-apps
- https://microservices-demo.github.io/docs/quickstart.html
- https://github.com/argoproj/argo-helm
- https://kubernetes.io/docs/reference/kubectl/cheatsheet/
- https://docs.docker.com/config/pruning/
- https://github.com/argoproj/argo-helm
You can reach the Argo CD community and developers via the following channels:
- Q & A : Github Discussions
- Chat : The #argo-cd Slack channel
- Contributors Office Hours: Every Thursday | Agenda
- User Community meeting: First Wednesday of the month | Agenda
Participation in the Argo CD project is governed by the CNCF Code of Conduct
- Awesome-Argo: A Curated List of Awesome Projects and Resources Related to Argo
- Unveil the Secret Ingredients of Continuous Delivery at Enterprise Scale with Argo CD
- GitOps Without Pipelines With ArgoCD Image Updater
- Combining Argo CD (GitOps), Crossplane (Control Plane), And KubeVela (OAM)
- How to Apply GitOps to Everything - Combining Argo CD and Crossplane
- Couchbase - How To Run a Database Cluster in Kubernetes Using Argo CD
- Automation of Everything - How To Combine Argo Events, Workflows & Pipelines, CD, and Rollouts
- Environments Based On Pull Requests (PRs): Using Argo CD To Apply GitOps Principles On Previews
- Argo CD: Applying GitOps Principles To Manage Production Environment In Kubernetes
- Creating Temporary Preview Environments Based On Pull Requests With Argo CD And Codefresh
- Tutorial: Everything You Need To Become A GitOps Ninja 90m tutorial on GitOps and Argo CD.
- Comparison of Argo CD, Spinnaker, Jenkins X, and Tekton
- Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2
- GitOps for Kubeflow using Argo CD
- GitOps Toolsets on Kubernetes with CircleCI and Argo CD
- CI/CD in Light Speed with K8s and Argo CD
- Machine Learning as Code. Among other things, describes how Kubeflow uses Argo CD to implement GitOPs for ML
- Argo CD - GitOps Continuous Delivery for Kubernetes
- Introduction to Argo CD : Kubernetes DevOps CI/CD
- GitOps Deployment and Kubernetes - using Argo CD
- Deploy Argo CD with Ingress and TLS in Three Steps: No YAML Yak Shaving Required
- GitOps Continuous Delivery with Argo and Codefresh
- Stay up to date with Argo CD and Renovate
- Setting up Argo CD with Helm
- Applied GitOps with Argo CD
- Solving configuration drift using GitOps with Argo CD
- Decentralized GitOps over environments
- How GitOps and Operators mark the rise of Infrastructure-As-Software
- Getting Started with ArgoCD for GitOps Deployments
- Using Argo CD & Datree for Stable Kubernetes CI/CD Deployments