First, what is GitOps? Is it the same as DevOps?
DevOps is the union of people, process, and products to enable the continuous delivery of value to our end users.
GitOps is different than DevOps because it focuses specifically on practices designed to improve infrastructure and application configuration management using Git.
GitOps builds on DevOps with Git as a single source of truth for the
desired state of the system
Second, what is Argo?
Argo is a declarative GitOps continuous delivery tool specifically designed for Kubernetes. Argo relies on Git to be the "source of truth" for defining everything you want for your application state; essentially, you are declaring the state of the world you want for your application, and Argo will either ensure it is that way, or alert you if it is not that way (I.E. out of sync).
Why you should not use kubectl to manage Kubernetes cluster?!
I will explain take you now though a simple demo on how to setup ArgoCD with Azure Devops and AKS
Note: I already have ASK cluster setup on my azure subscription
1- Create manifest/yaml deployment file and store them in Azure Devops repos
2-Install ArgoCD with Application "CRD"
2.1-let’s create a namespace for Argo CD to deploy all of its components in. To do this run:
2.2- Next we can install Argo CD into the new namespace we created. We will reference Argo CD’s repository for the latest Argo CD operator
You should end up with many objects in the Argo CD namespace.
2.2 - now, in order to access ArgoCD CP from the UI, you have to expose/publish the servcie, hence I will change the ArgoCD-Server from ClusterIP to LoadBalancer
by running the following command:
NOTE: This is not recommended in production environments. Only use in a dev/test environments. In production environments, it is recommended to use an ingress for the Argo CD API server that is secured.
2.3- now, let's open the UI
password: run this command since Argo CD auto generated a password during the deployment
That’s it! You have Argo CD deployed on your AKS cluster. In the next post, I will walk through deploying a simple app to your Kubernetes cluster via Argo CD.
Mohammad Al Rousan is a Microsoft MVP (Azure), Microsoft Certified Solution Expert (MCSE) in Cloud Platform & Azure DevOps & Infrastructure, An active community blogger and speaker.
Al Rousan has over 8 years of professional experience in IT Infrastructure and very passionate about Microsoft technologies and products.
Top 10 Microsoft Azure Blogs