Others · OTC-11

GitOps with Argo CD

GitOps with Argo CD is a course in building continuous delivery on Kubernetes with Argo CD 3, using Git as the single source of truth, from installation and Helm or Kustomize applications to sync policies, access control, multi-cluster ApplicationSets and CI pipelines. It suits DevOps engineers, system administrators and developers with basic Git and Kubernetes experience.

Updated
From 8,550 THB / person 9,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration18 hours · 3 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

GitOps is a way of doing continuous delivery that treats Git as the single source of truth for a system. Every change to applications and infrastructure happens through commits and pull requests that can be audited later, while a controller inside the cluster pulls the desired state from Git and keeps the system in line with it. Argo CD is the GitOps tool for Kubernetes that organisations use most widely, and version 3 changed several defaults to make it safer and faster than earlier releases.

This course takes learners through building GitOps with Argo CD 3, from installing it on a Kubernetes cluster and creating applications from YAML, Helm and Kustomize to sync policies, sync waves and hooks, projects, RBAC and private repositories. It then scales out to several environments and clusters with ApplicationSet, handles secrets safely and connects a CI pipeline in GitHub Actions so that deployments happen from Git automatically. It closes with a workshop that builds a complete GitOps setup. (3 days, 6 hours per day, 18 hours in total, Intermediate level.)

What you’ll gain

  • Understand GitOps principles and how they differ from push-based deployment from CI
  • Install and configure Argo CD 3 on Kubernetes and use both the web UI and the CLI
  • Create applications from YAML, Helm and Kustomize and organise repositories by environment
  • Set sync policies, sync waves, hooks and diffing to suit real workloads
  • Control access with projects, RBAC and SSO, and connect private repositories securely
  • Deploy to several environments and clusters with ApplicationSet
  • Manage secrets the GitOps way without storing passwords in Git
  • Connect a CI pipeline to Argo CD and troubleshoot common problems

Who this course is for

  • DevOps and platform engineers responsible for deployments on Kubernetes
  • System administrators and infrastructure teams who want every change to be auditable
  • Developers who want to understand the path from a commit to production
  • Teams running Argo CD 2 who want to update their practice to version 3
  • Students and enthusiasts with a grounding in Git and Kubernetes

Prerequisites

  • Working Git skills such as commits, branches, merges and pull requests on GitHub or GitLab
  • A basic understanding of Docker and container images
  • Kubernetes fundamentals such as pods, deployments and services, and the ability to use kubectl
  • A laptop that can run Docker Desktop or Docker Engine, with 16 GB of RAM or more, permission to install software and your own GitHub account

Curriculum

Course Details

This course is the 2026 edition that replaces the previous GitOps with Argo CD course, which was taught on Argo CD 2. It has been rewritten for Argo CD 3. It runs for 3 days, 6 hours per day (18 hours in total, 09:00-16:00), as lectures with labs on a Kubernetes cluster running on each learner's own laptop. Intermediate level. It covers server-side apply installation, applications from Helm and Kustomize, sync policies, sync waves and hooks, projects, RBAC and SSO. New topics include ApplicationSet across several clusters, GitOps secret management, notifications and troubleshooting, and GitHub Actions is now the main CI example, with the equivalent approach for GitLab CI. Learners take home a lab guide and sample repositories for every lab.

Day 1 GitOps Concepts and Getting Started with Argo CD 3

Section 1: What GitOps Is and Why It Matters

  • OpenGitOps principles: declarative, versioned, pulled automatically and continuously reconciled
  • Push deployment from CI compared with pull deployment in GitOps
  • Separating CI from CD, and the roles of Git, the registry and the cluster
  • An overview of GitOps tools and where Argo CD stands out
  • Lab: prepare a sample repository in your own GitHub account

Section 2: Lab: Preparing a Local Kubernetes Cluster

  • Create a cluster with kind or k3d on Docker
  • Review kubectl, namespaces, deployments and services
  • Install an ingress controller to reach applications from the browser
  • Manage several contexts in kubeconfig
  • Lab: deploy a sample app the old way with kubectl apply for comparison

Section 3: Lab: Installing Argo CD 3

  • Architecture: API server, repo server, application controller and ApplicationSet controller
  • Installation options: non-HA manifests, HA, core mode and the Helm chart
  • Install with server-side kubectl apply and retrieve the initial admin password
  • Reach the web UI through port-forward or ingress, and install the argocd CLI
  • Lab: sign in, change the password and explore the main screens

Section 4: Your First Application and the Sync Cycle

  • Application structure: source, destination and project
  • Create applications declaratively in YAML, in the web UI and with the CLI
  • Sync and health status, and reading the resource tree
  • Annotation-based resource tracking, the default in Argo CD 3
  • Lab: change a value in Git and watch Argo CD bring the cluster in line

Section 5: Lab: Deploying with Helm and Kustomize

  • How Argo CD detects the source type: directory, Helm or Kustomize
  • Helm charts from Git or a Helm repository, with values files per environment
  • Kustomize bases and overlays for dev, staging and prod
  • Applications that combine multiple sources
  • Lab: deploy the same app to three environments with overlays
Day 2 Advanced Sync, Security and Access Control

Section 6: Repository Structure and Version Tracking

  • Separating the application code repository from the configuration repository
  • Monorepo versus several repositories, and the app of apps pattern
  • targetRevision: branches, tags, commit SHAs and Helm chart version ranges
  • Promoting from dev to prod through pull requests
  • Lab: lay out a repository for three environments

Section 7: Lab: Sync Policies and Sync Options

  • How automated sync, prune and self-heal differ
  • Common sync options such as CreateNamespace, ServerSideApply and PruneLast
  • Sync windows to control when deployments are allowed
  • Rolling back from history, and why rolling back through Git is better
  • Lab: edit a resource directly in the cluster and watch self-heal respond

Section 8: Sync Waves, Hooks and Diffing Customisation

  • Sync phases: PreSync, Sync, PostSync and SyncFail
  • Sync waves to set the order, such as the database before the app
  • Hooks for database migrations and smoke tests
  • ignoreDifferences for fields changed by other systems, such as replicas set by an HPA
  • Lab: a migration job that runs before a new version is deployed

Section 9: Lab: Projects, RBAC and SSO

  • AppProject: restricting source repositories, destinations and resource kinds
  • Project roles and tokens for automation
  • RBAC in argocd-rbac-cm, and separating developer and operations permissions
  • Connecting SSO through OIDC or Dex to the organisation's identity provider
  • Lab: create a project that lets a team deploy only to its own namespaces

Section 10: Private Repositories and Credentials

  • Connect private Git repositories with HTTPS tokens and SSH keys
  • Credential templates for many repositories in the same organisation
  • Private Helm repositories and OCI registries
  • Storing credentials declaratively as Kubernetes secrets
  • Lab: deploy from a private repository with a deploy key
Day 3 Multiple Clusters, CI Pipelines and Workshop

Section 11: Lab: ApplicationSet and Multiple Clusters

  • Add remote clusters with argocd cluster add and cluster secrets
  • ApplicationSet generators: list, cluster and Git directory
  • The matrix generator for many apps across many clusters
  • Go templates in ApplicationSet, and preventing accidental deletion of applications
  • Lab: generate an application for every environment from folders in Git

Section 12: Managing Secrets the GitOps Way

  • Why passwords must never be stored in Git, even in a private repository
  • Sealed Secrets: encrypt before you commit
  • External Secrets Operator pulling values from Vault or a cloud secret manager
  • Comparing the strengths and limits of each approach
  • Lab: deploy an app that uses a database password through Sealed Secrets

Section 13: Lab: Connecting a CI Pipeline to Argo CD

  • The CI/CD sequence: test, build the image, push to a registry, then update Git
  • GitHub Actions builds the image and updates the image tag in the config repository
  • The same approach on GitLab CI, and an introduction to Argo CD Image Updater
  • Preview environments from pull requests
  • Lab: push code and watch the new version reach the cluster without running kubectl

Section 14: Notifications, Monitoring and Troubleshooting

  • Argo CD Notifications sending sync status to Slack, Teams or email
  • Argo CD metrics with Prometheus and dashboards in Grafana
  • Common symptoms: endless OutOfSync, stuck health checks and failed syncs
  • Backing up with argocd admin export, and planning upgrades
  • A checklist before using Argo CD in production

Section 15: Workshop: Building a Complete GitOps Setup

  • Brief: a web app with a database deployed to three environments
  • Design the repositories, projects and ApplicationSets for a shared team setup
  • Connect CI so versions are promoted through pull requests, and handle secrets safely
  • Present the result, plan adoption in your organisation, and use an AI assistant to draft manifests with careful review

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

What is GitOps, and how does it differ from traditional CI/CD?

GitOps treats Git as the single source of truth for a system. Every change goes through commits and pull requests, and a controller inside the cluster, such as Argo CD, pulls the desired state from Git and keeps the system in line with it. In traditional CI/CD the pipeline holds credentials to the cluster and pushes the deployment itself. The pull approach means fewer parties need cluster access, every change can be traced, and you roll back by reverting in Git.

How do automated sync, prune and self-heal differ in Argo CD?

Automated sync makes Argo CD deploy as soon as the configuration in Git changes. Prune removes resources from the cluster once they have been removed from Git. Self-heal puts the cluster back in line with Git when someone edits a resource in the cluster directly. Each can be switched on separately, and in the course you try them one at a time to see the effect and choose the right settings for each environment.

How do you install Argo CD and deploy a first application?

Create a namespace called argocd, install the official manifests with server-side kubectl apply, retrieve the initial admin password from its secret, open the web UI through port-forward or ingress and install the argocd CLI. Then create an Application that names the repository, path and destination cluster. Once you sync it, Argo CD creates the resources defined in Git and shows their sync and health status straight away.

Who is the GitOps with Argo CD course for, and what should I know beforehand?

It suits DevOps and platform engineers, system administrators and developers who handle deployments on Kubernetes, as well as teams already using Argo CD 2 who want to move to version 3. You should be comfortable with Git and GitHub, understand Docker, know Kubernetes basics and be able to use kubectl, and bring a laptop that runs Docker plus your own GitHub account.

What will I be able to do after the GitOps with Argo CD course?

You will be able to install and run Argo CD 3, deploy applications from YAML, Helm and Kustomize per environment, set sync policies, sync waves and hooks, control access with projects and RBAC, scale to several clusters with ApplicationSet, manage secrets without storing passwords in Git, and connect a CI pipeline so deployments happen from Git automatically. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.

Can the GitOps with Argo CD course be run in-house for our team?

Yes. It can be run in-house for your team, with examples adapted to your own work, such as the repository layout, pipelines and Kubernetes clusters your team already uses. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.