From the course: Kubernetes: GitOps with Argo CD
Where does Argo CD fit?
From the course: Kubernetes: GitOps with Argo CD
Where does Argo CD fit?
Hi, and welcome to this Kubernetes Essential Training, GitOps with Argo CD. Argo CD is a declarative GitOps continuous delivery tool for Kubernetes. CD here stands for continuous delivery, and in Argo CD, this means continuous delivery of infrastructure. Argo CD was originally open sourced by Intuit in January 2018, and it's used by a large number of companies around the world. In one sentence, Argo CD watches a Git repository and automatically keeps your Kubernetes cluster in sync with Git. So Git becomes the source of truth for everything running in your cluster. Now, you're probably familiar with the idea of CICD, that is Continuous Integration and Continuous Delivery Pipelines for code. This is where incremental code changes that you make to your application are built and tested in an automated manner. CICD for code is an integral part of the DevOps mindset and philosophy, and is also essential for agile development. Here, code that developers write is continuously checked in and pushed out to production as soon as possible. And this requires the entire pipeline to be automated. This is what allows code to be delivered to production environments quickly and seamlessly. The idea of CICD pipelines for your applications code has been around a while and has been implemented by many organizations. Now organizations today are moving to the cloud as fast as they can. Cloud native applications are those that are built natively for the scalable elastic nature of the cloud. Cloud native applications typically do not use manual techniques for provisioning of resources. Cloud native applications use infrastructure as code for deployments. The whole idea behind infrastructure as code is to make release engineering easier and more automated. Infrastructure as code means that your infrastructure is defined in files and not built by clicking through on a web console. You describe things like networks, servers, databases and permissions in code-like configuration and that becomes the source of truth. IAC or infrastructure as code is powerful because it makes deployments repeatable and predictable. If you can create an environment from a repo, you can recreate it the same way for your dev, test, and prod environments instead of relying on someone's memory or a long checklist. ISE makes changes safer because every change is tracked and reviewable. You can diff, review, and rollback infrastructure changes just like you would application code, which is a big deal when you're managing production systems. If infrastructure can be specified as code, why should we not use continuous delivery for infrastructure? And that's exactly the idea behind ArgoCD. Any change you make to your infrastructure specification in a Git repository will be automatically reflected in your live production environment. This continuous delivery of infrastructure is only possible because of the extensive use of infrastructure as code in cloud-native applications. Argo CD treats your Git repo as the definitive map for your apps and infrastructure. Because your environments are declarative and version-controlled, you can see the entire history of your cluster's evolution and undo a bad deployment just by reverting a Git commit. In-infra as code, applications, configurations, and even environments are not only declarative, they're also version-controlled. Any changes you make to your manifest go through normal Git diffs and pull requests, giving you an audit trail and easy rollback when something breaks. When you use Argo CD for continuous delivery of infrastructure, it's possible to fully automate your application deployment and lifecycle management. You can use Argo CD to manage namespaces, role-based access controls, custom resource definitions, ingress controllers, and even cloud infrastructure. Your automation is not reserved only for your code pipelines. You can also apply this automation to your infrastructure pipelines. Argo CD fully automates your deployments, making them seamless, less error-prone, and more robust.
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.