GitOps
- Refer Here for the article from weaveworks.
- Weaveworks have create a tool called as Flux and donated to CNCF
- Typical CI/CD Pipeline with k8s using Jenkins/Azure DevOps

-
CI/CD tools need to have
- a node/agent with k8s credentials configured and they push the changes to k8s cluster
- For storing k8s manifests we have two approaches
- source code and manifests in same repo
- source code and manifests in different repo (This is best practice)
- In the manifests we define desired state and if the changes are done manully in the cluster there is breakage of link
-
How gitops works
-
Popular GitOps Operator
-
Refer Here for technology radar
-
Using ArgoCD
Getting Started with argo CD
- Bring up the kubernetes cluster. For this example i will be using aks
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 1 \
--vm-set-type VirtualMachineScaleSets \
--load-balancer-sku standard \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3 \
--enable-managed-identity \
--enable-addons monitoring \
--generate-ssh-keys
kubectl port-forward svc/argocd-server -n argocd 8080:443
- Access argo cd using
https://localhost:8080

- Generate credentials for first time login Refer Here
Vocabulary
- Application
- Application Source tyoe
- Target state
- Live State
- Sync status
- Sync
- Healt Status
Core components of argo CD
- API Server
- Repository Service
-
Application controller
-
For demonstrations watch classroom recording
-
Refer Here for ops repo and refer here for source code repo Refer Here
-
Exercise: Try this for pitstop application