aula-12: Documentar arquitetura do auto-resize de PVC

Adiciona diagrama detalhado mostrando:
- Fluxo de métricas (kubelet → vmagent → vmsingle)
- Fluxo de resize (pvc-autoresizer → PVC → Hetzner CSI)
- Tabela de componentes e responsabilidades
This commit is contained in:
ArgoCD Setup
2026-01-08 17:48:46 -03:00
parent 4b92838ac3
commit db18f16f02

View File

@@ -351,6 +351,59 @@ argocd app sync monitoring --prune
Expansão automática de volumes quando atingirem 80% da capacidade.
### Arquitetura
```
┌─────────────────────────────────────────────────────────────────────┐
│ FLUXO DE MÉTRICAS │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ kubelet ──────────► vmagent ──────────► vmsingle │
│ (expõe stats (scrape (armazena │
│ do volume) 30s) métricas) │
│ │
│ Métrica: kubelet_volume_stats_used_bytes │
│ Métrica: kubelet_volume_stats_capacity_bytes │
│ │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────┐
│ FLUXO DE RESIZE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ pvc-autoresizer ───── query ────► vmsingle │
│ │ (consulta % usado) │
│ │ │
│ │ Se usado > 80% (free < 20%): │
│ │ │
│ ▼ │
│ kubectl patch PVC ──────► Kubernetes ──────► Hetzner CSI │
│ (spec.resources. (detecta mudança (expande volume │
│ requests.storage no request) online, sem │
│ += 10Gi) downtime) │
│ │ │
│ ▼ │
│ Pod restart ──────► Filesystem resize ──────► Capacidade OK │
│ │
└─────────────────────────────────────────────────────────────────────┘
```
### Componentes e Responsabilidades
| Componente | Função | Faz resize? |
|------------|--------|-------------|
| **kubelet** | Expõe métricas de volume | ❌ |
| **vmagent** | Coleta métricas (scrape) | ❌ |
| **vmsingle** | Armazena métricas | ❌ |
| **pvc-autoresizer** | Monitora + patch PVC | ✅ |
| **Hetzner CSI** | Expande volume físico | ✅ |
### Pré-requisitos
- StorageClass com `allowVolumeExpansion: true` (já configurado)
- Hetzner CSI Driver (suporta online resize)
- Victoria Metrics coletando métricas do kubelet
### Instalar pvc-autoresizer
```bash