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.