diff --git a/README.md b/README.md index 6a26d8c..33cfb7e 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,15 @@ Workshop progressivo que evolui de containers básicos até um cluster Kubernete │ Aula 09 Aula 10 Aula 11 │ │ n8n (Hetzner) GitLab ArgoCD + Runner │ │ Multi-tenant Registry + SSH GitOps CI/CD │ +└─────────────────────────────────────────────────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────────────────────┐ +│ OBSERVABILIDADE (Hetzner Cloud) │ +├─────────────────────────────────────────────────────────────────────────────┤ +│ Aula 12 Aula 14 │ +│ Victoria Metrics Istio Traffic Splitting │ +│ Grafana + Alertas Canary Deployments + Kiali │ └─────────────────────────────────────────────────────────────────────────────┘ ``` @@ -68,6 +77,8 @@ Workshop progressivo que evolui de containers básicos até um cluster Kubernete | 09 | n8n (Cloud) | Hetzner | Multi-tenant, CSI Driver | | 10 | GitLab | Hetzner | Registry, SSH, Helm | | 11 | ArgoCD | Hetzner | GitOps, Runner, CI/CD | +| 12 | Victoria Metrics | Hetzner | Observabilidade, Grafana, Alertas | +| 14 | Istio | Hetzner | Service Mesh, Traffic Splitting, Kiali | ## Pré-requisitos @@ -76,7 +87,7 @@ Workshop progressivo que evolui de containers básicos até um cluster Kubernete - kubectl - Helm 3.x -### Aulas 07-11 (Hetzner Cloud) +### Aulas 07-14 (Hetzner Cloud) - Conta na Hetzner Cloud - hcloud CLI - OpenTofu @@ -106,6 +117,8 @@ cd aula-08 && ./setup.sh cd aula-09 && ./setup.sh # n8n cd aula-10 && ./setup.sh # GitLab cd aula-11 && ./setup.sh # ArgoCD +cd aula-12 && ./setup.sh # Victoria Metrics + Grafana +cd aula-14 && ./setup.sh # Istio + Kiali ``` ## Custos Estimados (Hetzner Cloud) @@ -123,12 +136,12 @@ cd aula-11 && ./setup.sh # ArgoCD ``` CloudFlare (DNS + CDN) │ - ┌─────────────┼─────────────┐ - │ │ │ - ▼ ▼ ▼ - git.kube.quest n8n.kube.quest argocd.kube.quest - │ │ │ - └─────────────┼─────────────┘ + ┌─────────────┬───────────┼───────────┬─────────────┐ + │ │ │ │ │ + ▼ ▼ ▼ ▼ ▼ + git.kube.quest n8n.kube.quest argocd grafana.kube.quest kiali.kube.quest + │ │ │ │ │ + └─────────────┴───────────┼───────────┴─────────────┘ │ ▼ ┌─────────────────────────┐ @@ -142,24 +155,21 @@ cd aula-11 && ./setup.sh # ArgoCD │ (TCP passthrough) │ └───────────┬─────────────┘ │ - ┌───────────────────────┼───────────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌───────────────┐ ┌───────────────┐ ┌───────────────┐ -│ GitLab │ │ n8n │ │ ArgoCD │ -│ (namespace) │ │ (namespace) │ │ (namespace) │ -│ │ │ │ │ │ -│ - Webservice │ │ - Main │ │ - Server │ -│ - Sidekiq │ │ - Workers │ │ - Repo Server │ -│ - Registry │ │ - Webhooks │ │ - Controller │ -│ - PostgreSQL │ │ - PostgreSQL │ │ - Redis │ -│ - Redis │ │ - Redis │ │ │ -│ - MinIO │ │ │ │ GitLab Runner │ -└───────────────┘ └───────────────┘ └───────────────┘ - │ │ - └───────────────────────────────────────────┘ + ┌───────────┬───────────┬───┼───┬───────────┬───────────┐ + │ │ │ │ │ │ + ▼ ▼ ▼ ▼ ▼ ▼ +┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ +│ GitLab │ │ n8n │ │ ArgoCD │ │ Victor.│ │ Istio │ │ Apps │ +│ │ │ │ │ │ │ Metrics│ │ System │ │ Mesh │ +│Registry│ │Workers │ │ Runner │ │Grafana │ │ Kiali │ │ v1/v2 │ +│ SSH │ │Webhooks│ │GitOps │ │Alertas │ │ Jaeger │ │Canary │ +└────────┘ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ + GitOps Pipeline git push → build → registry → sync → deploy + ↓ + Traffic Splitting (Istio) + v1 (90%) ←──────────────────────→ v2 (10%) ``` ## App de Demonstração: node-bugado @@ -194,7 +204,9 @@ workshop/ ├── aula-08/ # Cluster Hetzner (OpenTofu) ├── aula-09/ # n8n Hetzner ├── aula-10/ # GitLab -└── aula-11/ # ArgoCD + GitLab Runner +├── aula-11/ # ArgoCD + GitLab Runner +├── aula-12/ # Victoria Metrics + Grafana +└── aula-14/ # Istio Traffic Splitting ``` Cada aula contém: