Velero GCP
sobre
Estamos instalando o velero em cluster K8S usando driver da GCP.
O cluster k8s usa volumes GCP com suporte a snapshot.
Kubeconfig
Carregue o kubeconfig
Pré-requisitos
Bucket GCS já criado
- nome_do_bucket
Service Account com permissões:
- roles/storage.objectAdmin
- roles/compute.storageAdmin
Se não puder usar permissões administratives, use:
compute.disks.get
compute.disks.create
compute.disks.createSnapshot
compute.projects.get
compute.snapshots.get
compute.snapshots.create
compute.snapshots.useReadOnly
compute.snapshots.delete
compute.snapshots.setLabels
compute.zones.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
iam.serviceAccounts.signBlob
Configurando credenciais
Crie o arquivo credentials-velero.json com suas credenciais
{
"type": "service_account",
"project_id": "MEU_PROJECT_ID",
"private_key_id": "...",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n",
"client_email": "velero@MEU_PROJECT_ID.iam.gserviceaccount.com",
"client_id": "...",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}
se voce já estiver logando com a conta certa, você pode simplesmente rodar esse comando
ele vai gerar o arquivo json pra você.
Instalando
Instale o velero
velero install velero-infra \
--provider gcp \
--plugins velero/velero-plugin-for-gcp:v1.13.2 \
--bucket NOME_DO_BUCKET \
--prefix NOME_DO_DIRETORIO \
--secret-file ./credentials-velero.json
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
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 gcp 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 backup assim
Ou se preferir, pode definir que todos os volumes do NS devem ir pro backup
Obviamente isso dependente de um agendamento com a regra para fazer backup de recursos com essas anotações.
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/