Chapter 10. Applications at Scale
In Chapter 4, you were introduced to the Application Custom Resource Definition (CRD) object, which facilitates the logical grouping of your Kubernetes manifests. This Application object serves as the atomic unit of work in Argo CD, allowing you to manage a collection of Kubernetes objects as a single entity. Argo CD uses the Application CRD to manage the entire lifecycle of this collection of Kubernetes objects.
Argo CD Applications operate autonomously, meaning that one Application does not have awareness of the status or health of another. This autonomy can pose challenges, especially in organizations employing a microservices architecture where each component resides in its own Application custom resource. For instance, certain Applications may need to be deployed sequentially—such as a database before a backend service or a service mesh before the main application. As infrastructure scales, managing these dependencies and Argo CD Applications becomes increasingly complex.
In this chapter, we will explore various deployment patterns available in Argo CD. These include approaches like the App-of-Apps with sync waves and ApplicationSets with Progressive Sync. These patterns will assist in managing dependencies between Argo CD Applications and facilitate the deployment and management of these Applications at scale.
Argo CD Application Drawbacks
In Chapter 5, we explored the customization of the Argo CD sync operation to accommodate the varying ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access