Você pode usar o Velero Plugin for vSphere para fazer backup e restaurar cargas de trabalho em execução em um cluster TKG 2 instalando o Velero Plugin for vSphere nesse cluster.

Visão geral

O Velero Plugin for vSphere fornece uma solução para fazer backup e restaurar cargas de trabalho de cluster TKG. Para cargas de trabalho persistentes, o Velero Plugin for vSphere permite tirar snapshots dos volumes persistentes.
Observação: Se você precisar de portabilidade para as cargas de trabalho de cluster do TKG 2 das quais deseja fazer backup e restaurar, não use o Velero Plugin for vSphere. Para portabilidade entre clusters Kubernetes, use o Velero autônomo com Restic.

Pré-requisito: Instale o Velero Plugin for vSphere em Supervisor

A instalação do Velero Plugin for vSphere em um cluster TKG 2 requer que o Supervisor tenha o Velero Plugin for vSphere instalado. Além disso, o Supervisor deve ser configurado com a rede NSX-T.

Consulte a documentação Manutenção de vSphere with Tanzu para obter instruções sobre como instalar o Velero Plugin for vSphere em Supervisor.

Etapa 1: Instalar a CLI do Velero em um Linux Workstation

A CLI do Velero é a ferramenta padrão para fazer a interface com o Velero. A CLI do Velero fornece mais funcionalidades do que a CLI do Velero Plugin for vSphere (velero-vsphere) e é necessária para fazer backup e restaurar cargas de trabalho de cluster do Tanzu Kubernetes.

Instale a CLI do Velero em uma estação de trabalho Linux. Idealmente, esse é o mesmo host de salto em que você executa CLIs associadas para seu ambiente vSphere with Tanzu, incluindo kubectl, kubectl-vsphere e velero-vsphere.

Conclua as etapas a seguir para instalar a CLI do Velero.
  1. Baixe a versão compatível da CLI do Velero na página de downloads do produto VMware. Para obter mais informações sobre a versão compatível do Velero, consulte Manutenção de vSphere with Tanzu.
  2. Abra uma linha de comando e altere o diretório para o download da CLI do Velero.
    gunzip velero-linux-v1.x.x_vmware.1.gz
  3. Verifique o binário do Velero.
    ls -l
    
    -rw-r--r-- 1 root root 7142128 Aug 14 14:14 velero-linux-v1.x.x_vmware.1
    
  4. Conceda permissões de execução à CLI do Velero.
    chmod +x velero-linux-v1.x.x_vmware.1
  5. Disponibilize globalmente a CLI do Velero movendo-a para o caminho do sistema.
    cp velero-linux-v1.x.x_vmware.1 /usr/local/bin/velero
  6. Verifique a instalação da CLI do Velero.
    velero version
    
    Client:
        Version: v1.x.x

Etapa 2: obter os detalhes do bucket compatível com S3

Por conveniência, as etapas pressupõem que você esteja usando o mesmo armazenamento de objeto compatível com S3 que você configurou quando instalou o Velero Plugin for vSphere no Supervisor. Na produção, talvez você queira criar um armazenamento de objeto separado.

Para instalar o Velero Plugin for vSphere, você precisará fornecer as seguintes informações sobre o armazenamento de objetos compatível com o S3.
Item de dados Valor de exemplo
s3Url

http://my-s3-store.example.com

aws_access_key_id ACCESS-KEY-ID-STRING
aws_secret_access_key SECRET-ACCESS-KEY-STRING
Crie um nome de arquivo de segredos s3-credentials com as seguintes informações. Você fará referência a esse arquivo quando instalar o Velero Plugin for vSphere.
aws_access_key_id = ACCESS-KEY-ID-STRING
aws_secret_access_key = SECRET-ACCESS-KEY-STRING

Etapa 3: Criar o Configmap do plug-in do Velero

No cluster do TKG, crie um configmap para o plug-in do Velero chamado velero-vsphere-plugin-config.yaml.
apiVersion: v1
kind: ConfigMap
metadata:
  name: velero-vsphere-plugin-config
data:
  cluster_flavor: GUEST
Aplique o configmap no cluster TKG.
kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
Se você não instalar o configmap, receberá o seguinte erro ao tentar instalar o Velero Plugin for vSphere.
Error received while retrieving cluster flavor from config, err: configmaps "velero-vsphere-plugin-config" not found
Falling back to retrieving cluster flavor from vSphere CSI Driver Deployment

Etapa 4: Instalar o Velero Plugin for vSphere no cluster do TKG 2

Você usará a CLI do Velero para instalar o Velero Plugin for vSphere no cluster TKG 2 de destino do qual deseja fazer backup e restaurar.

O contexto da CLI do Velero seguirá automaticamente o contexto kubectl. Antes de executar comandos da CLI do Velero para instalar o Velero e o Velero Plugin for vSphere no cluster de destino, certifique-se de definir o contexto kubectl para o cluster de destino.
  1. Usando o vSphere Plugin for kubectl, autentique com o Supervisor.
  2. Defina o contexto kubectl para o cluster TKG 2 de destino.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  3. Execute o seguinte comando da CLI do Velero para instalar o Velero no cluster de destino.

    Substitua os valores de espaço reservado para os campos BUCKET-NAME, REGION (duas instâncias) e s3Url pelos valores apropriados. Se você tiver se desviado de qualquer uma das instruções anteriores, ajuste esses valores também, como o nome ou o local do arquivo de segredos, o nome do namespace velero criado manualmente etc.

    ./velero install --provider aws \
    --bucket BUCKET-NAME \
    --secret-file ./s3-credentials \
    --features=EnableVSphereItemActionPlugin \
    --plugins velero/velero-plugin-for-aws:v1.1.0 \
    --snapshot-location-config region=REGION \
    --backup-location-config region=REGION,s3ForcePathStyle="true",s3Url=http://my-s3-store.example.com
  4. Instale o Velero Plugin for vSphere no cluster de destino. O Velero instalado se comunicará com o servidor da API Kubernetes para instalar o plug-in.
    velero plugin add vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0

Adendo: desinstalar o Velero Plugin for vSphere do cluster TKG 2

Conclua estas etapas para desinstalar o Velero Plugin for vSphere.
  1. Defina o contexto kubectl para o cluster Tanzu Kubernetes de destino.
    kubectl config use-context TARGET-TANZU-KUBERNETES-CLUSTER
  2. Para desinstalar o plug-in, execute o seguinte comando para remover o InitContainer do velero-plugin-for-vsphere da implantação do Velero.
    velero plugin remove vsphereveleroplugin/velero-plugin-for-vsphere:1.1.0
  3. Para concluir o processo, exclua a implantação do Driver de Backup e os CRDs relacionados.
    kubectl -n velero delete deployment.apps/backup-driver
    kubectl delete crds \
    backuprepositories.backupdriver.cnsdp.vmware.com \
    backuprepositoryclaims.backupdriver.cnsdp.vmware.com \
    clonefromsnapshots.backupdriver.cnsdp.vmware.com \
    deletesnapshots.backupdriver.cnsdp.vmware.com \
    snapshots.backupdriver.cnsdp.vmware.com
    kubectl delete crds uploads.datamover.cnsdp.vmware.com downloads.datamover.cnsdp.vmware.com