GitOps with ArgoCD
Introduction
Course Introduction
Welcome to the GitOps with ArgoCD course!
My name is Barahalikar Siddharth, and I serve as a technical architect specializing in API management tools and DevOps technologies. In this course, you will master the fundamentals of GitOps, discover its core principles, and learn how to implement GitOps practices in real-world scenarios.
We will begin by comparing DevOps with GitOps and examining major deployment models—including push-based and pull-based methods. Then, you'll dive into ArgoCD basics, exploring its applications, key concepts, common terminology, and underlying architecture. We also cover advanced topics such as various reconciliation methods and the app-of-apps pattern.
Course Highlights
Throughout this course, you will integrate essential third-party tools like Okta, Bitnami Sealed Secrets, and HashiCorp Vault for enhanced user and secret management. Additionally, you'll configure monitoring, alerts, and notifications using industry-standard tools such as Prometheus, Grafana, Alertmanager, and Slack.
We conclude the course with an end-to-end CI/CD pipeline example, demonstrating how ArgoCD and GitOps principles work together seamlessly.
The course is structured into lesson modules, each designed to simplify complex concepts through engaging illustrations and hands-on examples. In many modules, interactive labs allow you to practice what you learn directly in your browser.
Creating an ArgoCD Application
Below is an example of how to create an ArgoCD application using the CLI:
argocd app create color-app \
--repo https://github.com/sid/app-1.git \
--path team-2/color-app \
--dest-namespace color \
--dest-server https://kubernetes.default.svc
You can also define the application using a YAML specification:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: color-app
spec:
destination:
name: default
server: https://kubernetes.default.svc
source:
repoURL: https://github.com/sid/app-1.git
targetRevision: HEAD
path: team-2/color-app
syncPolicy:
automated:
selfHeal: true
syncOptions:
- CreateNamespace=true
Interactive Labs
After each lecture segment, you will access hands-on labs that enable you to put theory into practice immediately. The labs provide an interactive experience where you can test commands and observe real-time feedback. For example, a lab command might look like this:
controlplane ~ ➜ kubectl get solar-system
error: the server doesn't have a resource type "solar-system"
controlplane ~
Get Involved
If you encounter any issues or have questions during the course, please join our community channel for support. Active participation in the labs and community discussions will enhance your learning experience.
If you're ready to dive into the world of GitOps with ArgoCD, let's get started and revolutionize the way you think about continuous delivery and deployment!
Watch Video
Watch video content