This repository holds the manifests (Kubernetes .yaml files) for the hands-on part of the ArgoCD TechBier taking place on March 14th, 2024.
Note: Whenever you encounter DEIN_KUERZEL put your ipt shortname, in my case
mhr
, to avoid conflicts.
Goals
-----
[1] Understand and apply refresh.
[2] Understand and apply sync.
[3] Deploy your first ArgoCD Application.
1.1 Exploring ArgoCD [5 min]
- Visit the argocd.codeandski.ch web UI. Credentials will be put on a Flipchart.
- Try clicking around and answer the following questions. Discuss with your neighbour.
- How many Applications are "Synced"? What options does the ArgoCD Dashboard give to monitor this?
- What is your username, who issued it?
- What
git
repositories are linked with this ArgoCD instance? - What
kubernetes clusters
are linked with this ArgoCD instance? - What is the difference between "Synced" and "Healthy"
1.2 Creating and Fixing your Application in GitOps Style [10 min]
-
Checkout the git repository https://github.com/iptch/argocd-techbier.git
-
Checkout your branch
git checkout DEIN_KUERZEL
-
Change the DEIN_KUERZEL occurrences in the src/manifests.yaml file and push it to GitHub.
-
Let's create an ArgoCD App via the UI. Hit "New App" in the ArgoCD UI.
- Give the app the name "hello-techbier-DEIN_KUERZEL" (simply the name of the ArgoCD Application)
- Project name: "Default" (can be used to group Applications, we simply use Default for everything here)
- Sync Policy: "Manual"
- Repository URL: https://github.com/iptch/argocd-techbier.git
- Revision: "DEIN_KUREZEL" (this is simply the branch to point to for the source)
- Path: "src" (the folder in which to look for manifests)
- Destination: "https://kubernetes.default.svc" (this points to the local cluster where ArgoCD runs in)
- Namespace: "ns-techbier-DEIN_KUERZEL" (the namespace must match ne ns in the manifest)
- --> Hit Create!
-
The App seems to be out of sync... Hit sync.
-
It seems that something is wrong... The App is still out of sync. Looks like we have to fix something.
-
Implement the fix on YOUR BRANCH (!) and push it to GitHub.
Hints for solution
Check the labels. You can put the whole manifest into ChatGPT and ask him whats wrong. He will tell you.
-
Go to your Applicaiton in ArgoCD. Hit refresh. What happened?
-
Now hit refresh and sync. What happened? All green? Congrats!!!
Goals
-----
[1] Understand and configure auto-sync.
[2] Working with the app-of-apps pattern (for the very fast).
2.1 TODO: Autosync?!
- Change your Application and enable Autosync via the UI (check-box at the bottom).
- Refresh and sync your Application.
- Now change the number of replicas to 10 and push it. Did it scale automatically?