ArgoCD is a declarative, GitOps-based continuous delivery tool for Kubernetes. It automates the deployment and synchronization of applications defined in Git repositories. This document covers its key features and installation steps on Kubernetes clusters.
Apply the official ArgoCD manifests:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Use a LoadBalancer, Ingress, or port-forwarding:
kubectl port-forward svc/argocd-server -n argocd 8080:443
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d
Use the CLI to authenticate:
argocd login localhost:8080 --username admin --password <PASSWORD>
argocd repo add https://github.com/your/repository.git --username <USER> --password <PASSWORD>
argocd app create my-app \
--repo https://github.com/your/repository.git \
--path k8s-manifests \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
argocd app sync my-app
argocd app get my-app
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
destination:
namespace: default
server: https://kubernetes.default.svc
project: default
source:
path: k8s-manifests
repoURL: https://github.com/your/repository.git
targetRevision: HEAD
syncPolicy:
automated:
prune: true
selfHeal: true
ArgoCD simplifies application delivery by integrating GitOps principles into Kubernetes environments. By following these steps, you can set up ArgoCD for automated and declarative continuous delivery.