ArgoCD is a declarative GitOps continuous delivery tool for Kubernetes. It monitors Git repositories and automatically syncs the desired application state into your Kubernetes cluster. This guide installs and configures ArgoCD on Ubuntu 26.04 LTS with a running Kubernetes cluster.
Tested and valid on:
- Ubuntu 26.04 LTS
Prerequisites
- Ubuntu 26.04 LTS with a running Kubernetes cluster (kubeadm or k3s)
- kubectl configured
- A Git repository with Kubernetes manifests
Step 1 – Install ArgoCD
kubectl create namespace argocd
kubectl apply -n argocd -f
https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Step 2 – Wait for Pods to be Ready
kubectl wait --for=condition=Ready pods --all -n argocd --timeout=300s
kubectl get pods -n argocd
Step 3 – Expose the ArgoCD Server
kubectl patch svc argocd-server -n argocd
-p '{"spec":{"type":"NodePort"}}'
Step 4 – Install the ArgoCD CLI
curl -sSL -o argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
chmod +x argocd && sudo mv argocd /usr/local/bin/
argocd version
Step 5 – Retrieve the Admin Password
kubectl -n argocd get secret argocd-initial-admin-secret
-o jsonpath="{.data.password}" | base64 -d
Step 6 – Log In
NODE_PORT=$(kubectl get svc argocd-server -n argocd -o jsonpath='{.spec.ports[0].nodePort}')
SERVER_IP=$(kubectl get nodes -o jsonpath='{.items[0].status.addresses[0].address}')
argocd login $SERVER_IP:$NODE_PORT --username admin --insecure
Step 7 – Create an Application
argocd app create myapp
--repo https://github.com/myorg/k8s-configs
--path manifests/myapp
--dest-server https://kubernetes.default.svc
--dest-namespace default
--sync-policy automated
argocd app sync myapp
Conclusion
ArgoCD is deployed on Ubuntu 26.04 LTS. Commit Kubernetes manifests to Git and ArgoCD will automatically apply them, providing a full GitOps workflow where Git is the single source of truth for your cluster state.