TalksAWS re:Invent 2025 - Deploy Amazon EKS workloads with ArgoCD and GitOps (DEV209)

AWS re:Invent 2025 - Deploy Amazon EKS workloads with ArgoCD and GitOps (DEV209)

Deploying Amazon EKS Workloads with ArgoCD and GitOps

Introduction

  • The presenter is Dale Orers, an AWS Community Builder from Australia, working for a telecommunications company 59
  • The session covers how to deploy AWS workloads using Argo CD and the principles of GitOps

Traditional Deployment Challenges

  • A simple deployment starts with a Git repository, a pipeline, and infrastructure as code (e.g., Terraform, Pulumi, CDK) to deploy to a cloud provider like EKS
  • As applications scale, managing multiple workloads across regions and environments becomes complex
  • Challenges include:
    • Configuring each workload
    • Managing infrastructure
    • Storing state files

GitOps Principles

  • GitOps is a way to manage infrastructure and application deployments where the Git repository is the single source of truth
  • Key principles of GitOps:
    1. Infrastructure must be defined declaratively (using infrastructure as code)
    2. Desired state must be stored and be immutable, versioned, and auditable
    3. GitOps agents must automatically pull the desired state from the source
    4. GitOps agents must continuously monitor the system and apply changes based on the desired state

Deploying to Amazon EKS

  • Challenges with traditional EKS deployments:
    • Unclear source of truth (Git repo, pipeline artifacts, or state file)
    • Potential drift between state file and EKS workloads
  • Using Argo CD, a GitOps tool, can help address these challenges

Argo CD for GitOps

  • Argo CD is a declarative continuous delivery tool for Kubernetes that uses the Git repository as the single source of truth
  • Argo CD workflow:
    1. Teams push changes to Git
    2. CI/CD pipeline builds, tests, and produces artifacts
    3. Argo CD pulls the desired state from Git and deploys it to EKS
    4. Argo CD continuously monitors the live state and remediates any drift

Argo CD Deployment Models

  • Standalone multi-cluster deployment: Argo CD agent deployed on each cluster
  • Hub-Spoke model: Central Argo CD agent manages spoke clusters, requires cross-account and network access
  • Lightweight agent model: Central Argo CD agent, with lightweight agents in each spoke cluster, reducing network configuration needs

Single Source of Truth with Argo CD

  • Argo CD YAML file defines the project, namespace, server, and source repository
  • Argo CD manages the application lifecycle, automatically syncing the live state with the desired state in the Git repository

Demo

  • Argo CD is installed in a Kubernetes cluster
  • The Argo CD YAML file is used to define the application and source repository
  • Changes made to the Git repository are automatically detected and deployed by Argo CD
  • The demo shows scaling the application by increasing the number of replicas in the Git repository, which is then automatically applied by Argo CD

Key Takeaways

  • Use infrastructure as code to define all resources
  • Ensure teams understand and follow GitOps principles
  • Implement continuous observability with tools like Argo CD
  • Choose the right GitOps tool for your specific deployment needs
  • Provide easy access to Argo CD for developers (e.g., web UI, CLI)

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.