Pular para o conteúdo

Armazenamento (NVMe & StorageClass)

Ao consolidar todos os bancos em um único nó, a Serigy direciona o armazenamento de forma eficiente: em vez de discos rápidos em todos os nós, provisiona um volume NVMe grande e veloz apenas no rke-db-00.

flowchart LR
    TF["Terraform"] -->|anexa volume NVMe| Node["rke-db-00"]
    Node -->|montagem| Mount["/mnt/nvme"]
    Mount -->|StorageClass| SC["nvme-local"]
    SC -->|PVC| PG[("PostgreSQL")]

O agente provisiona e anexa o volume de alta performance à instância da OVH (ver Provisionamento & Tainting). O volume é montado em um caminho conhecido no nó (ex.: /mnt/nvme).

Uma StorageClass específica expõe esse disco ao Kubernetes. A abordagem é um provisionador local (ex.: local-path-provisioner) ou um volume direto apontando para a montagem NVMe.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: nvme-local
provisioner: rancher.io/local-path
volumeBindingMode: WaitForFirstConsumer
reclaimPolicy: Retain
  • WaitForFirstConsumer — o volume só é vinculado quando o pod é agendado, garantindo que ele caia no nó certo (rke-db-00).
  • reclaimPolicy: Retain — protege os dados de exclusão acidental do PVC.
DecisãoBenefício
NVMe só no nó de bancoPerformance onde importa, sem custo em todo o cluster
RetainDados sobrevivem à recriação do PVC
WaitForFirstConsumerVincula o volume ao nó correto