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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user