Velero Minio
sobre
Estamos instalando o velero em cluster K8S usando driver da AWS compatível com MINIO.
O cluster k8s usa volumes NFS sem suporte a SNAPSHOT.
Em nosso caso estamos usando stoageclass NFS-Client.
Vamos usar o MINIO para o backup dos arquivos e um agent para copiar o filesystem direto dos nodes.
O tipo de upload a ser utilizado vai ser kopia, o sucessor do restic.
Instalando
Acesse os servidor usado para gerenciar o cluster.
Carregue o kubeconfig
Crie o arquivo com credenciais
Adicione o conteudo abasixo
Instale o velero
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.13.2 \
--bucket NOME_DO_BUCKET \
--prefix NOME_DO_DIRETORIO \
--secret-file ./credenciais.ini \
--use-node-agent \
--uploader-type kopia \
--backup-location-config \
region=minio,\
s3ForcePathStyle=true,\
s3Url=http://minio.velero.svc:9000
O que cada parâmetro faz
--provider define o provedor
--plugins define o plugin a ser usado
--bucket define o nome do bucket da ser usado
--prefix define o o diretorio a ser usado
--secret-file define o arquivo com as credenciais
--backup-location-config configurações do backup
Checando a instalação
Saída esperada
Verifique se o location está disponivel
Saída esperada
NAME PROVIDER BUCKET/PREFIX PHASE LAST VALIDATED ACCESS MODE DEFAULT
default aws velero-infra Available 2025-04-07 07:41:11 -0300 -03 ReadWrite true
Se aparecer "PHASE Available" o location está funcionando.
Pronto, tudo instalado, agora vamos ver os comandos para fazer backup, restore e agendamentos.
Marcando volumes para backup
Você pode espeficiar os volumes de um POD que precisam ir pro restic assim
Ou se preferir, pode definir que todos os volumes do NS devem ir pro restic
Operando o velero
Acesse
- https://mkdocs.gutocarvalho.net/k8s/install/velero/comandos/
refs
- https://velero.io
- https://velero.io/docs
- https://velero.io/docs/v1.17/basic-install/
- https://velero.io/docs/v1.17/backup-reference/
- https://velero.io/docs/v1.17/restore-reference/
- https://velero.io/docs/v1.17/resource-filtering/