Book Image

Argo CD in Practice

By : Liviu Costea, Spiros Economakis
Book Image

Argo CD in Practice

By: Liviu Costea, Spiros Economakis

Overview of this book

GitOps follows the practices of infrastructure as code (IaC), allowing developers to use their day-to-day tools and practices such as source control and pull requests to manage apps. With this book, you’ll understand how to apply GitOps bootstrap clusters in a repeatable manner, build CD pipelines for cloud-native apps running on Kubernetes, and minimize the failure of deployments. You’ll start by installing Argo CD in a cluster, setting up user access using single sign-on, performing declarative configuration changes, and enabling observability and disaster recovery. Once you have a production-ready setup of Argo CD, you’ll explore how CD pipelines can be built using the pull method, how that increases security, and how the reconciliation process occurs when multi-cluster scenarios are involved. Next, you’ll go through the common troubleshooting scenarios, from installation to day-to-day operations, and learn how performance can be improved. Later, you’ll explore the tools that can be used to parse the YAML you write for deploying apps. You can then check if it is valid for new versions of Kubernetes, verify if it has any security or compliance misconfigurations, and that it follows the best practices for cloud-native apps running on Kubernetes. By the end of this book, you’ll be able to build a real-world CD pipeline using Argo CD.
Table of Contents (15 chapters)
1
Part 1: The Fundamentals of GitOps and Argo CD
4
Part 2: Argo CD as a Site Reliability Engineer
7
Part 3: Argo CD in Production

To get the most out of this book

To run the code from all the chapters, you will need access to a Kubernetes cluster, which can be a local one, with the exception of the HA installation, which requires a cluster with multiple nodes. The tools we will use the most are kubectl, Helm, and Kustomize. In the Kubernetes cluster, we will install Argo CD, and the instructions can be found in Chapter 2, Getting Started with Argo CD for the normal installation or Chapter 3, Operating Argo CD for the HA one.

Software/hardware covered in the book

Operating system requirements

Argo CD v2.1 and v2.2

Windows, macOS, or Linux

For some of the chapters, such as Chapters 3, Operating Argo CD and Chapter 5, Argo CD Bootstrap K8s Cluster we work with AWS EKS clusters, so you will need an AWS account set up and the AWS CLI installed. In Chapter 3, we also mention the eksctl CLI in order to ease the creation of the cluster where we will perform the HA installation, while in Chapter 5, Argo CD Bootstrap k8s Cluster, we recommend using Terraform for the cluster creation.

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.