Skip to main content
Argo CD is a popular GitOps continuous delivery tool. In GitOps you declare the desired cluster state in a Git repository, and Argo CD continuously watches that repository and reconciles the live cluster with the declared state. This walkthrough uses the Argo CD web UI to build a mental model of application creation, syncing, drift detection, and Helm chart deployments before you manage Argo CD from the CLI.

Prerequisites

  • A Kubernetes cluster with Argo CD installed in the argocd namespace.
  • Network access to the Argo CD server UI.
  • For this demo we used the admin user with password admin123 (replace with your secure password in real environments).
Use a secure admin password in production. You can create dedicated Argo CD users or integrate SSO instead of reusing the admin account.

1. Verify Argo CD pods

Confirm Argo CD components are running:
Example output:
Log in to the Argo CD UI. On a fresh install the Applications view may be empty:
The image shows an Argo CD interface with a message indicating that no applications are available. There's a prompt to create a new application to manage resources in the cluster.

2. Create an application from manifests (guestbook example)

Steps to create a new application via the UI:
  • Click New App.
  • Name: web-frontend
  • Project: default
  • Sync policy: start with Manual (so you can observe actions before enabling auto-sync).
  • Source: point to the Argo CD example repository: https://github.com/argoproj/argocd-example-apps, path guestbook.
  • Destination: your in-cluster API server and choose to use the application namespace.
The New Application configuration in the UI looks like this:
The image shows the Argo CD interface with settings for creating a new application, including sections for configuring the source repository and destination cluster.
Ensure the target namespace exists (for example applications):
Create the application. After creation Argo CD will compare Git to the cluster and should show the app as OutOfSync since the resources are not yet in-cluster:
The image shows the Argo CD interface displaying the status of a "web-frontend" project, which is marked as "OutOfSync" and "Missing." There are options to sync, refresh, or delete the application.
Open the application to view the resource tree. “OutOfSync / Missing” entries indicate Argo CD detected resources in Git that are not present in the cluster. Click Sync and then Synchronize to apply the manifests. Argo CD will apply the manifests and the application will move to Synced as the cluster state matches the declared state. You can inspect the deployed resources in the target namespace:
Example output after syncing:
Refresh the app in the Argo CD UI and you should see Healthy and Synced.

3. Observe drift detection and reconciliation

Make a manual change on the cluster to simulate drift. For example, scale the deployment to 5 replicas:
Example output after scaling to five replicas:
Refresh the application in Argo CD — it will now show OutOfSync. Use the Diff view to inspect differences (cluster on the left, Git desired state on the right). For the replicas field you’ll see: Cluster (actual):
Desired (Git):
Click Sync in Argo CD to restore the declared state. Argo CD will scale the deployment back to the desired replica count (1), and the app will return to Synced and Healthy.
The image shows an Argo CD interface with an application deployment diagram, indicating the health and sync status of a "web-frontend" application and its components. The application is "OutOfSync" but "Healthy", and includes various services, deployments, and pods.

4. Deploying Helm charts from Git

Argo CD can render and deploy Helm charts directly from a Git repo. The same example repository includes a Helm guestbook chart and values file:
This image shows a GitHub repository page for "argocd-example-apps," specifically focusing on the "helm-guestbook" directory. It lists files and folders along with their last commit messages and dates.
Create a new application for the Helm chart:
  • Repository: https://github.com/argoproj/argocd-example-apps
  • Path: applications-helm/guestbook (path to the Helm chart)
  • Sync policy: set to Automatic if you want Argo CD to auto-reconcile (self-heal).
  • Destination namespace: applications-helm (optionally enable Auto Create Namespace).
Argo CD will detect the chart and display its values.yaml in the UI so you can override values before creating the application. For example, change replicaCount from 1 to 2 in the UI:
The image shows an Argo CD user interface displaying a Helm configuration with parameters like containerPort, image.repository, and service.type. There are sync and health status indicators on the left.
Click Create. Argo CD will render the Helm templates with your overrides and deploy them. Verify with kubectl:
You should see the number of pods matching the value you set (for example, two pods if replicaCount was set to 2).
The image shows a dashboard from Argo CD displaying the status of a "web-backend" application, with its health marked as "Healthy" and sync status as "Synced." It includes a flow diagram depicting the components and relationships within the application architecture.
When enabling Automatic sync, Argo CD will immediately reconcile any divergence. Use automatic sync for production only if you’ve validated the repo and policies; otherwise keep Manual sync while testing.

Quick reference: Commands & concepts

Where to go next

This overview demonstrated creating applications from plain manifests and Helm charts, inspecting resource diffs, syncing, and observing Argo CD reconciliation behavior. Next you can explore automating Argo CD via the CLI and managing applications using argocd commands and ApplicationSets.

Watch Video