Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Andrew Block, Christian Hernandez

Rating No ratings yet

Learn how to manage Kubernetes clusters and application configurations with Argo CD, the easy-to-use open source GitOps engine. With this practical book, development teams will quickly gain a foundational understanding of Argo CD for deploying and managing containerized applications - without having to be a Kubernetes expert, and without needing full access to an existing Kubernetes environment. With the adoption of Kubernetes, the ability to effectively manage platform configurations has become a paramount concern. Authors Andrew Block from Red Hat and Christian Hernandez from Akuity show you how to apply GitOps practices with Argo CD to manage one or even thousands of Kubernetes environments with confidence. You'll start with a basic understanding of the Argo CD technology and quickly learn how to achieve faster and more secure deployments. With this book, you will: Learn the basics of applying GitOps principles to your Kubernetes environments Use Argo CD to manage Kubernetes configurations as well as the applications you deploy to the platform Manage the configurations of a single Kubernetes cluster or thousands of clusters Deploy Kubernetes resources using tools such as Kustomize and Helm Understand the importance of managing sensitive material and resources

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# Argo CD: Up & Running — A Hands-On Guide to GitOps and Kubernetes ## 【One-Line Pitch】 A practical, hands-on guide for developers and platform engineers who want to master Argo CD for managing Kubernetes configurations and application deployments using GitOps principles — no prior Kubernetes expertise required. If you're deploying containerized applications across one or many clusters and want versioned, auditable, self-healing infrastructure, this book is your roadmap. ## 【Book Arc】 - **Opening (~0%–9%)**: Introduces the GitOps philosophy and why Argo CD emerged from the Argo Project (born from Intuit's acquisition of Applatix) to solve the pain of untracked, manually applied Kubernetes YAML. Sets up the core promise: manage clusters declaratively with Git as the source of truth. - **Early (~9%–28%)**: Walks through Argo CD's architecture — the Application controller, ApplicationSet controller, Repository Server, and API server — then guides you through a standard installation, accessing the UI via port-forwarding, and retrieving the initial admin credentials. - **Early-Middle (~28%–38%)**: Explores the multiple ways to interact with Argo CD: the UI, CLI, REST API, and declarative ConfigMaps/Secrets. Introduces drift detection (out-of-the-box) and self-healing (must be enabled), plus the foundational concept of Applications as the smallest unit of work. - **Middle (~38%–53%)**: Dives deep into Application management — source specifications (Git and Helm), destination targeting, multisource applications (introduced in Argo CD 2.6), synchronization policies, and pruning options like `PrunePropagationPolicy`, `PruneLast`, `Replace`, and `ServerSideApply`. - **Late (~53%–100%)**: Covers advanced operational topics: UI customization (banners, styles, extensions), CI/CD integration via webhooks and Tekton pipelines, monitoring with Prometheus/Grafana, notifications via Mattermost, high availability, scalability/sharding, and future considerations for GitOps directory structures. ## 【Key Takeaways】 - **GitOps is the antidote to untracked Kubernetes management** (Early): Traditional imperative approaches (replacing ssh with kubectl) left configurations unversioned and unmanaged. Argo CD treats Git as the single source of truth, enabling versioned, auditable, and repeatable deployments. - **Argo CD differs philosophically from Flux** (Early): Argo CD renders raw YAML (e.g., using `helm template`) rather than managing Helm releases directly, which means `helm ls` won't show Argo CD-managed deployments — but you gain the ability to diff Helm chart deployments against live state. - **The architecture is controller-driven** (Early): The Application and ApplicationSet controllers are Kubernetes Operators that continuously reconcile live cluster state against desired state from source repositories, handling resource ordering and lifecycle events. - **Multiple management interfaces, one declarative core** (Early–Middle): You can manage Argo CD via UI, CLI, REST API, or directly through ConfigMaps and Secrets (like `argocd-cm`) — all feeding the same declarative model, making automation and platform-as-code possible. - **Drift detection is automatic; self-healing is opt-in** (Middle): Argo CD detects configuration drift out of the box, but you must explicitly enable self-healing to automatically correct deviations — a critical decision for production environments. - **Applications are the atomic unit of GitOps** (Middle): An Application CRD defines source (Git or Helm), destination (cluster and namespace), and sync policy. Multisource applications (v2.6+) allow combining multiple sources into one logical deployment. - **Sync options carry real operational risk** (Middle): Options like `Replace=true` effectively perform delete-and-recreate operations that can cause production outages (e.g., deleting storage claims or CRDs). Understanding `PrunePropagationPolicy`, `PruneLast`, and `ServerSideApply` is essential for safe rollouts. ## 【Reading Tips】 - **Skim the architecture chapter** (Early, ~9%–16%) if you're already familiar with Kubernetes Operators — but do read the comparison with Flux carefully, as it clarifies Argo CD's design philosophy and trade-offs. - **Deep-read the Application management chapters** (Middle, ~38%–53%): These contain the most actionable content — YAML examples, sync policy options, and pruning behavior. The `Replace` and `ServerSideApply` discussions are especially important for production safety. - **Treat the installation chapter as a quick-start reference** (Early, ~16%–28%): The port-forwarding and admin-secret retrieval steps are practical but can be skimmed if you've installed Argo CD before. - **Pay attention to the drift vs. self-heal distinction** (Middle): This is a subtle but critical operational decision — the book explicitly notes self-healing is not the default, and you should decide deliberately whether to enable it. - **The late chapters (monitoring, notifications, CI/CD) are reference material** — skim to know what's possible, then return when you need to operationalize Argo CD at scale. ## 【Coverage Limits】 The excerpts cover the book's first ~53% in detail (architecture, installation, Application management, sync policies) and provide a table of contents overview for the remaining chapters (UI customization, CI/CD integration, operationalizing, future considerations). Specific implementation details for those later chapters are not covered in this guide. ##
Page 6
ons are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corp...
View in text
Excerpt 2
o a Kubernetes cluster or to many clusters at massive scale. Argo CD detects and prevents drift within Kubernetes clusters by working with YAML, stored in a...
View in text
Excerpt 3
n-secret -o \ jsonpath="{.data.password}" | base64 -d; echo Log in using admin as the username and the password that was obtained from the prior command. Upo...
View in text
Excerpt 4
can now specify multiple sources for a sin‐ gle application. Templating tools like Helm and Kustomize help manage and deploy Kubernetes manifests efficiently...
View in text
Excerpt 5
govern the level of access that each entity is entitled to. In this chapter, we will explore how users are managed in Argo CD, including where and how they a...
View in text
Excerpt 6
meter. Execute the following command to validate the policy.developers.csv policy file: argocd admin settings rbac validate --policy-file=policy.developers.c...
View in text
Excerpt 7
te a new Project called golist using the following command: $ argocd proj create golist \ --src '*' --dest '*,*' --allow-cluster-resource '*/*' This new proj...
View in text
Excerpt 8
denoted by Repositories on the right-hand side of the page. Click on Settings and then Deploy Keys. Select the Add Deploy Key to define the key that should b...
View in text
Tags
AI categories
Cloud NativeDevOpskubernetes
ISBN: 1098142004
Publish Year: 2025
Language: English
Pages: 309
File Format: PDF
File Size: 16.6 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…