Using ArgoCD, Crossplane, and GitOps to deploy workloads
In the previous section, we used CodePipline to deploy changes to our AWS environment based on a commit and a CodePipline configuration.
GitOps is a way of implementing continuous deployment (CD) to deploy both a containerized application and infrastructure but with a focus on self-service and developer experience. This means that the developer can use the Git repository to not only store, version, test, and build their code but also do the same for their infrastructure as code, deploying both things together.
We will use two open source projects in this chapter – ArgoCD, which is a deployment tool that will continually poll our application repository to look for changes, and the K8s API to deploy them. Crossplane allows us to use a custom Kubernetes resource to build infrastructure resources that support our application like a database. ArgoCD can use Helm to deploy and modify (patch) K8s resources or Kustomize...