Cleanup final talk
This commit is contained in:
parent
65dc9d82a4
commit
5177726cfa
1 changed files with 25 additions and 46 deletions
|
|
@ -1,11 +1,8 @@
|
||||||
# Final Talk — GitOps in de praktijk
|
# Final Talk — GitOps in de praktijk
|
||||||
|
|
||||||
**Duur**: ~20 min + Q&A
|
|
||||||
**Format**: Slides of whiteboard, optioneel met live demo
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. Wat we gebouwd hebben (7 min)
|
## 1. Wat we gebouwd hebben
|
||||||
|
|
||||||
### Architectuurdiagram
|
### Architectuurdiagram
|
||||||
|
|
||||||
|
|
@ -13,26 +10,26 @@
|
||||||
┌─────────────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────────────┐
|
||||||
│ Jouw laptop │
|
│ Jouw laptop │
|
||||||
│ │
|
│ │
|
||||||
│ Browser ──────────────────────────────────────────► │
|
│ Browser ──────────────────────────────────────────► │
|
||||||
│ podinfo.192.168.56.200.nip.io │
|
│ podinfo.192.168.56.200.nip.io │
|
||||||
│ argocd.192.168.56.200.nip.io │
|
│ argocd.192.168.56.200.nip.io │
|
||||||
│ grafana.192.168.56.200.nip.io (bonus) │
|
│ grafana.192.168.56.200.nip.io │
|
||||||
└────────────────────────┬────────────────────────────────┘
|
└────────────────────────┬────────────────────────────────┘
|
||||||
│ VirtualBox host-only
|
│ VirtualBox host-only
|
||||||
▼ 192.168.56.200 (MetalLB)
|
▼ 192.168.56.200 (MetalLB)
|
||||||
┌─────────────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────────────┐
|
||||||
│ VM: ops-demo (192.168.56.10) │
|
│ VM: ops-demo (192.168.56.10) │
|
||||||
│ │
|
│ │
|
||||||
│ ┌──────────────────┐ ┌───────────────────────────┐ │
|
│ ┌──────────────────┐ ┌───────────────────────────┐ │
|
||||||
│ │ Ingress-Nginx │ │ ArgoCD │ │
|
│ │ Ingress-Nginx │ │ ArgoCD │ │
|
||||||
│ │ (LB: .200) │ │ kijkt naar deze Git repo │ │
|
│ │ (LB: .200) │ │ kijkt naar deze Git repo │ │
|
||||||
│ └──────┬───────────┘ └───────────┬───────────────┘ │
|
│ └──────┬───────────┘ └───────────┬───────────────┘ │
|
||||||
│ │ │ synct │
|
│ │ │ synct │
|
||||||
│ ▼ ▼ │
|
│ ▼ ▼ │
|
||||||
│ ┌──────────────────┐ ┌───────────────────────────┐ │
|
│ ┌──────────────────┐ ┌───────────────────────────┐ │
|
||||||
│ │ podinfo │ │ MetalLB │ │
|
│ │ podinfo │ │ MetalLB │ │
|
||||||
│ │ (Deployment) │ │ (geeft LAN IP's uit) │ │
|
│ │ (Deployment) │ │ (geeft LAN IP's uit) │ │
|
||||||
│ └──────────────────┘ └───────────────────────────┘ │
|
│ └──────────────────┘ └───────────────────────────┘ │
|
||||||
│ │
|
│ │
|
||||||
│ ┌──────────────────────────────────────────────────┐ │
|
│ ┌──────────────────────────────────────────────────┐ │
|
||||||
│ │ Tekton Pipeline │ │
|
│ │ Tekton Pipeline │ │
|
||||||
|
|
@ -41,7 +38,7 @@
|
||||||
└─────────────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
### De GitOps loop (vertel dit hardop)
|
### De GitOps loop
|
||||||
|
|
||||||
1. Alles in de cluster staat als declaratie in deze Git repo
|
1. Alles in de cluster staat als declaratie in deze Git repo
|
||||||
2. ArgoCD kijkt naar de repo en reconcilet de cluster naar die gewenste state
|
2. ArgoCD kijkt naar de repo en reconcilet de cluster naar die gewenste state
|
||||||
|
|
@ -50,19 +47,19 @@
|
||||||
|
|
||||||
### Stack recap
|
### Stack recap
|
||||||
|
|
||||||
| Component | Rol |
|
| Component | Rol |
|
||||||
|-----------|-----|
|
|-----------------------|-----------------------------|
|
||||||
| k3s | Single-binary Kubernetes |
|
| k3s | Single-binary Kubernetes |
|
||||||
| ArgoCD | GitOps engine (App-of-Apps) |
|
| ArgoCD | GitOps engine (App-of-Apps) |
|
||||||
| MetalLB | Bare-metal LoadBalancer |
|
| MetalLB | Bare-metal LoadBalancer |
|
||||||
| Ingress-Nginx | HTTP routing op hostname |
|
| Ingress-Nginx | HTTP routing op hostname |
|
||||||
| Tekton | CI pipeline (in-cluster) |
|
| Tekton | CI pipeline (in-cluster) |
|
||||||
| podinfo | Demo-applicatie |
|
| podinfo | Demo-applicatie |
|
||||||
| kube-prometheus-stack | Observability (bonus) |
|
| kube-prometheus-stack | Observability (bonus) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 2. Waarom GitOps in productie (8 min)
|
## 2. Waarom GitOps in productie
|
||||||
|
|
||||||
### De oude manier: imperatieve deploys
|
### De oude manier: imperatieve deploys
|
||||||
|
|
||||||
|
|
@ -96,7 +93,7 @@ PR: "bump API naar v2.3.1-hotfix"
|
||||||
|
|
||||||
**Rollback**: `git revert <commit>` + `git push`. Geen speciale tooling nodig.
|
**Rollback**: `git revert <commit>` + `git push`. Geen speciale tooling nodig.
|
||||||
|
|
||||||
### Het App-of-Apps pattern (kort)
|
### Het App-of-Apps pattern
|
||||||
|
|
||||||
Eén root Application beheert alle andere Applications. Nieuwe service toevoegen = één YAML-file in `apps/` toevoegen. De root app pakt die automatisch op.
|
Eén root Application beheert alle andere Applications. Nieuwe service toevoegen = één YAML-file in `apps/` toevoegen. De root app pakt die automatisch op.
|
||||||
|
|
||||||
|
|
@ -112,7 +109,7 @@ apps/root.yaml ──manages──► apps/argocd.yaml
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. Wat is de volgende stap (5 min)
|
## 3. Wat is de volgende stap
|
||||||
|
|
||||||
### Secrets management
|
### Secrets management
|
||||||
|
|
||||||
|
|
@ -151,21 +148,3 @@ Nieuwe versie → 5% van traffic
|
||||||
→ metrics goed → 20% → 50% → 100%
|
→ metrics goed → 20% → 50% → 100%
|
||||||
→ metrics slecht → auto-rollback
|
→ metrics slecht → auto-rollback
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Optionele live demo (~5 min)
|
|
||||||
|
|
||||||
Doe een one-line wijziging in `manifests/apps/podinfo/deployment.yaml` (bijv. UI-kleur),
|
|
||||||
push naar GitHub, klik **Refresh** in ArgoCD en laat pod restart + nieuwe UI zien.
|
|
||||||
|
|
||||||
De groep heeft dit al gedaan, maar live verteld landt de GitOps loop beter.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Q&A prompts (als het stil valt)
|
|
||||||
|
|
||||||
- "Hoe pak je database migrations aan in een GitOps flow?"
|
|
||||||
- "Wat gebeurt er als twee mensen tegelijk naar Git pushen?"
|
|
||||||
- "Wanneer is GitOps NIET de juiste tool?" (antwoord: local dev, scripts, one-off jobs)
|
|
||||||
- "Hoe houd je secrets op schaal uit Git?"
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue