Learn GitOps with Argo CD and Argo Rollouts by deploying real apps from Git, one concept at a time.
Problem: TODO
Solution: TODO
TODO
- Kubernetes basics — Pods, Deployments, Services,
kubectl. New to them? Start with Kubernetes in Practice. - A control machine with Ansible and a clone of ansible-tutorial — every install in this guide is an Ansible role.
- A target Linux VM (Ubuntu 22.04, 2 vCPU / 4 GB RAM / 20 GB disk) reachable over SSH with passwordless sudo.
Full walk-through in Environment Setup.
Part 1 — Environment Setup
- Set Up a Cluster — a single-node kubeadm cluster plus k9s and Helm, via Ansible.
Part 2 — Introduction to GitOps
- The Push Model and Its Drawbacks — why CI-driven
kubectl applyleads to configuration drift. - The GitOps Workflow — pull instead of push: Argo CD reconciles the cluster from Git.
- The GitOps Principles — the four OpenGitOps principles and how Argo CD meets each.
Part 3 — [Argo CD] Getting Started with Argo CD
- Installing Argo CD — the Argo CD Helm chart and a matching CLI via Ansible, and what each component does.
- Accessing Argo CD — reach the UI and CLI with a port-forward, log in, and change the admin password.
Part 4 — [Argo CD] Core Argo CD Concepts
- The Argo CD Architecture — the three core components and what breaks when each is down.
- The Application CRD — where from, where to, and how: the resource that tells Argo CD what to deploy.
- Applications vs. Kubernetes Manifests — the pointer vs. what it points at. Lab: fork, apply an Application, and sync.
- Sync and Health Checks — two independent statuses, refresh vs. sync, and sync policies. Lab: a Git change and drift, both synced by hand.
Part 5 — [Argo CD] Working with Helm Charts
- Helm Charts in Argo CD — Argo CD renders charts with
helm templateinstead of installing them. Lab: deploy a chart from Git, and find no Helm release. - Deploying Public Helm Charts — charts from a Helm repository, and why to pin the chart version. Lab: deploy Headlamp, then upgrade it.
- Overriding Chart Values — value files, inline values, parameters, and which one wins. Lab: set values and see the precedence.