Pular para o conteúdo

Armazenamento

Avançado18 min de leiturakubernetes

O filesystem do container é efêmero. PersistentVolumeClaim (PVC) declara a necessidade da aplicação; a StorageClass seleciona provisionador e política; o volume (PV) é o recurso realmente associado. Não grave dados de negócio em camada de imagem ou emptyDir.

apiVersion: v1
kind: PersistentVolumeClaim
metadata: { name: dados, namespace: app }
spec:
accessModes: [ReadWriteOnce]
storageClassName: fast-ssd
resources: { requests: { storage: 20Gi } }

ReadWriteOnce normalmente permite montagem leitura/escrita em um nó por vez; não é sinônimo de “um Pod”. ReadWriteMany depende do backend e tem custo/semântica próprios. Verifique expansão, criptografia, zona, reclaimPolicy e backup antes de escolher a classe. Um PVC Pending pede kubectl describe pvc: pode ser StorageClass inexistente, topologia incompatível ou provisionador sem permissão.

Snapshot é ponto no tempo do volume, não prova de restore nem necessariamente backup consistente de banco. Para dados transacionais, combine quiesce ou backup lógico com snapshot e restaure periodicamente em ambiente isolado. Teste RPO, RTO, permissões e o procedimento de apontar a aplicação para dados recuperados.

StatefulSet ajuda com identidade e volume por réplica, mas não transforma banco em serviço gerenciado. Opere banco no cluster apenas quando o time pode manter upgrades, replicação, backup, restore e capacidade; caso contrário, um serviço gerenciado reduz carga operacional.

Próximo passo: defina acesso mínimo em Segurança do cluster e investigue falhas de PVC no Diagnóstico.