Aula 13: Armazenamento e empacotamento — PVC, Helm e GitOps
Até agora, nossos Pods eram "descartáveis": quando são excluídos ou reiniciados, todos os arquivos escritos dentro deles desaparecem. Isso é ótimo para uma aplicação que não guarda nada, mas é um problema para um banco de dados. Nesta aula conhecemos três ferramentas que completam o quadro. Primeiro
Um Pod é como um quadro branco que é apagado toda vez que é desligado; um PVC é um pen drive que continua cheio. Helm é uma caixa de móveis para montar, e o GitOps diz: "o que estiver escrito no caderno — isso é a realidade".
- PersistentVolumeClaim
- Um objeto que solicita armazenamento durável de um determinado tamanho. Um Pod se conecta a ele, e os dados sobrevivem mesmo depois que o Pod é excluído ou reiniciado — como um disco rígido externo.
- Helm
- O gerenciador de pacotes do Kubernetes. Ele reúne um conjunto de arquivos YAML em um único template (um "chart") com um arquivo de valores que você pode ajustar, de modo que o mesmo pacote instala a aplicação em vários ambientes.
- GitOps
- Uma forma de trabalhar em que o repositório Git é a única fonte da verdade para o estado do cluster. Um controlador (por exemplo, ArgoCD ou Flux) compara continuamente o cluster com o repositório e o reconcilia automaticamente para que fiquem iguais.
- Modo de acesso
- Uma configuração do PVC que decide como o volume pode ser conectado. ReadWriteOnce significa que apenas um node pode escrever nele por vez — o modo mais comum para o disco de uma única aplicação.
- Valores do chart
- Um arquivo (values.yaml) que fornece os valores variáveis para um chart do Helm — por exemplo, o nome de uma imagem, o número de replicas ou o tamanho do armazenamento — de modo que o mesmo template seja adaptado a cada ambiente sem duplicar YAML.