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:
Infrastructure must be defined declaratively (using infrastructure as code)
Desired state must be stored and be immutable, versioned, and auditable
GitOps agents must automatically pull the desired state from the source
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:
Teams push changes to Git
CI/CD pipeline builds, tests, and produces artifacts
Argo CD pulls the desired state from Git and deploys it to EKS
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)
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.