Chapter 4. Managing Applications
Argo CD manages the lifecycle of Kubernetes resources using a construct called Applications. An Argo CD Application is a custom resource that contains a logical collection of related Kubernetes resources (i.e., a collection of YAML or JSON files). An Argo CD Application is the smallest unit of work in Argo CD and is where Argo CD interfaces with Kubernetes in order to deploy Kubernetes objects.
Note
Application templating is possible with ApplicationSets, which will be discussed in Chapter 10.
In this chapter, we will cover the basics of an Argo CD Application, the different components (including an overview of the types of sources Applications can connect to), and how to use different Kubernetes templating tools that Argo CD natively supports. To wrap up this chapter, we’ll cover the lifecycle of an Argo CD Application.
Application Overview
As previously mentioned, an Argo CD Application is the atomic working unit in Argo CD. It defines the end state of the desired set of resources within a Kubernetes cluster, more specifically, it defines which objects need to be applied to the running Kubernetes cluster. Let’s take a look at an example of an Argo CD Application:
apiVersion:argoproj.io/v1alpha1kind:Applicationmetadata:name:guestbooknamespace:argocdspec:project:defaultsource:repoURL:https://github.com/argoproj-labs/argocd-example-apps/targetRevision:mainpath:guestbook/destination:server:https://kubernetes.default.svc ...
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