Skip to main content

Overview

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. This quickstart guide will walk you through installing Argo CD, accessing the UI and CLI, and deploying your first application from a Git repository.
This guide assumes you have:
  • A running Kubernetes cluster
  • kubectl installed and configured
  • A kubeconfig file (default location: ~/.kube/config)
  • CoreDNS enabled (for microk8s: microk8s enable dns && microk8s stop && microk8s start)

Installation

1

Install Argo CD

Create the argocd namespace and install Argo CD using the official manifests:
This creates all Argo CD services and application resources in the argocd namespace.
Why --server-side --force-conflicts?The --server-side flag is required because some Argo CD CRDs (like ApplicationSet) exceed the 262KB annotation size limit imposed by client-side kubectl apply. Server-side apply avoids this limitation by not storing the last-applied-configuration annotation.The --force-conflicts flag allows the apply operation to take ownership of fields that may have been previously managed by other tools.
The installation manifests include ClusterRoleBinding resources that reference the argocd namespace. If you’re installing into a different namespace, update the namespace reference in the manifests.
For production use, pin to a specific version:
2

Install Argo CD CLI

Download and install the Argo CD CLI to interact with Argo CD from your terminal.
Verify the installation:
3

Access Argo CD

By default, the Argo CD API server is not exposed externally. Choose one of the following methods to access it:
Expose the service with a LoadBalancer (requires cloud provider support):
Get the external IP:
For production environments, configure an Ingress resource. See the Argo CD Ingress documentation for detailed configuration.
4

Login to Argo CD

Retrieve the initial admin password:
The password is auto-generated and stored in the argocd-initial-admin-secret secret.Login using the CLI:
Use username admin and the password from the previous command.
Delete the argocd-initial-admin-secret after changing your password:
The secret serves no purpose after the initial login and can be safely deleted.
Change the admin password:
If the CLI can’t directly access the API server, use port forwarding:
  • Add --port-forward-namespace argocd to each command, or
  • Set ARGOCD_OPTS environment variable: export ARGOCD_OPTS='--port-forward-namespace argocd'
5

Create Your First Application

Deploy the example guestbook application from the Argo CD demo repository.Set the default namespace:
Create the application using the CLI:
Or create using a declarative YAML manifest:
Apply the manifest:
6

Sync the Application

View the application status:
Output:
The application is initially OutOfSync because resources haven’t been deployed yet.Sync (deploy) the application:
This retrieves manifests from Git and performs a kubectl apply. View the deployed resources:
You can also sync from the UI:
  1. Navigate to the Applications page
  2. Click the Sync button on the guestbook application
  3. Click Synchronize in the panel

Next Steps

Core Concepts

Learn about Applications, sync status, health checks, and GitOps principles

Architecture

Understand Argo CD’s component architecture and how they work together

Configure Auto-Sync

Enable automated synchronization for continuous deployment

Multi-Cluster Setup

Register external clusters for multi-cluster deployments

Optional: Register External Clusters

To deploy applications to external clusters (not the cluster where Argo CD is running):
This installs a ServiceAccount (argocd-manager) in the target cluster’s kube-system namespace and binds it to an admin-level ClusterRole.
When deploying to the same cluster where Argo CD runs, use https://kubernetes.default.svc as the destination server. No cluster registration is needed.