Você pode usar o Velero Plugin for vSphere para fazer backup e restaurar cargas de trabalho em execução no vSphere Pods instalando o Velero Plugin for vSphere no Supervisor.
Visão geral
O Velero Plugin for vSphere fornece uma solução para fazer backup e restaurar vSphere with Tanzu cargas de trabalho. A solução requer a instalação e a configuração de vários componentes. Depois de instalar e configurar o Velero Plugin for vSphere no Supervisor, você poderá fazer backup e restaurar as cargas de trabalho do cluster TKG. Para cargas de trabalho persistentes, o Velero Plugin for vSphere permite tirar snapshots dos volumes persistentes.
Pré-requisitos: Obrigatório
- Supervisor está ativado com a rede NSX-T Data Center.
Observação: O Operador vSphere do Velero é executado como um vSphere Pod e, portanto, requer uma rede NSX-T.
- Supervisor versão 1.21.1 ou posterior.
- vSphere Namespace é criado e configurado.
- Você deve ser membro da função Administrador vSphere ou ter os seguintes privilégios vSphere:
- SupervisorServices.Manage
- Namespaces.Manage
- Namespaces.Configure
- Crie uma VM Linux na qual você possa executar a CLI do Velero. Ou use um host de salto Linux existente no qual você acessa Supervisor.
- A rede NSX-T é usada para oferecer suporte à implantação de vSphere Pods
- Uma VM do Data Manager é implantada
- O Operador do Velero está ativado e em execução no namespace
velero-vsphere-domain-cXX
- Um namespace chamado
velero
está configurado - O Velero Plugin for vSphere está sendo executado como um vSphere Pod no namespace
velero
Etapa 0 (opcional): Criar uma rede dedicada para backup e restauração de tráfego
- Marcar os hosts ESXi para oferecer suporte à cópia de arquivo de rede (NFC)
- Configure a rede de backup e restauração usando NSX-T Data Center
Para configurar hosts vSphere ESXi para oferecer suporte a um transporte de dispositivo de bloco de rede dedicado (NBD), adicione uma VMkernel NIC em cada host ESXi no cluster vCenter Server em que o Gerenciamento de carga de trabalho está ativado e defina o vSphereBackupNFC
no essa NIC. Quando a tag vSphereBackupNFC
é aplicada ao tipo de NIC para um adaptador VMkernel, o tráfego de backup e restauração passa pela NIC virtual escolhida.
vSphereBackupNFC
não estiver ativado na NIC do VMkernel, o tráfego de backup e restauração não será enviado na rede de backup e restauração, mesmo se você configurar uma. Se
vSphereBackupNFC
não estiver ativado, o tráfego trafegará na rede de gerenciamento vSphere.
vSphereBackupNFC
estiver ativada, configure a rede de backup e restauração usando NSX-T atualizando o vSphere Distributed Switch (vDS) existente para o cluster da seguinte maneira:
- Em vSphere Client, selecione .
- Selecione o vDS existente para o cluster.
- Clique com o botão direito do mouse no vDS e selecione .
- Crie um novo grupo de portas distribuídas chamado BackupRestoreNetwork.
- Adicione um adaptador VMkernel ao grupo de portas distribuídas BackupRestoreNetwork.
- Anexe todos os hosts ESXi no cluster vCenter em que o Workload Management está ativado ao grupo de portas distribuídas BackupRestoreNetwork.
- Ative a tag
vSphereBackupNFC
.
Etapa 1: criar um repositório de objetos compatível com S3
Para backup e restauração de volumes persistentes, você precisa fornecer um armazenamento de objeto compatível com S3. O Velero oferece suporte a vários provedores de armazenamento de objetos.
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 |
s3-credentials
com as seguintes informações. Você fará referência a esse arquivo quando instalar o
Velero Plugin for vSphere.
[default] aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
O MinIO é um armazenamento de objetos compatível com S3 que é fácil de instalar e usar. O vSphere with Tanzu é fornecido com um MinIO Supervisor Service que você pode ativar. Para obter mais informações, consulte a publicação vSphere with TanzuServiços e cargas de trabalho.
Como alternativa, você pode instalar manualmente um servidor MinIO em uma VM Linux. Para obter instruções, consulte Instalar e configurar o Velero e o Restic autônomos em clusters TKG 2 em Supervisor.
Etapa 2: Instalar e configurar o Data Manager
Para facilitar o backup e a restauração usando o Velero Plugin for vSphere, implante uma ou mais VMs do Data Manager para mover dados de backup de volume persistente para dentro e para fora do armazenamento de objeto compatível com S3. O Data Manager move os dados de snapshot de volume do volume vSphere para o armazenamento remoto durável compatível com S3 no backup e do armazenamento remoto compatível com S3 para um volume vSphere durante a restauração.
- Usando o vSphere Client, clique com o botão direito do mouse no Datacenter em que o Gerenciamento de carga de trabalho está ativado e selecione Implantar modelo OVF.
- Digite o caminho para o arquivo OVA do Data Manager e carregue-o no vCenter Server: https://vsphere-velero-datamgr.s3-us-west-1.amazonaws.com/datamgr-ob-17253392-photon-3-release-1.1.ova.
- Nomeie a máquina virtual como DataManager, por exemplo.
- Selecione o recurso de processamento que é o cluster vCenter em que Supervisor está configurado.
- Revise os detalhes da implantação da VM e clique em Avançar.
- Aceite os contratos de licença e clique em Avançar.
- Selecione o armazenamento e clique em Avançar.
- Selecione a rede de destino para a VM do Data Manager.
- Selecione BackupRestoreNetwork se você tiver configurado uma rede dedicada de backup e restauração.
- Selecione a Rede de gerenciamento (Management Network) se você não tiver configurado uma rede dedicada de backup e restauração.
- Confirme as seleções e clique em Concluir para concluir o processo.
- Use o painel Tarefas Recentes para monitorar o progresso da implantação.
Observação: Se você receber um erro informando que o "descritor OVF não está disponível", use o navegador Chrome.
- Depois que a VM do Data Manager for implantada, configure os parâmetros de entrada para a VM.
- Clique com o botão direito do mouse na VM e selecione .
- Na guia Hardware Virtual, para Unidade de CD/DVD, altere de Dispositivo host (Host Device) para Dispositivo cliente (Client Device).
Observação: Se você não fizer isso, não poderá salvar as definições de configuração avançadas necessárias.
- Na guia , selecione .
- Defina os parâmetros de entrada para cada uma das seguintes configurações:
Parâmetro Valor guestinfo.cnsdp.vcUser
Tenha o nome de usuário vCenter Server com privilégios suficientes para implantar VMs. guestinfo.cnsdp.vcAddress
Digite o endereço IP ou FQDN vCenter Server. guestinfo.cnsdp.vcPasswd
Digite a senha do usuário vCenter Server. guestinfo.cnsdp.vcPort
O padrão é 443. Não altere esse valor. guestinfo.cnsdp.wcpControlPlaneIP
Digite o endereço IP do Cluster do Supervisor. Obtenha esse valor navegando até o cluster vCenter em que o Gerenciamento de carga de trabalho está ativado e selecionando
guestinfo.cnsdp.updateKubectl
O padrão é false. Não altere esse valor. guestinfo.cnsdp.veleroNamespace
O padrão é velero e você deve deixá-lo como tal, a menos que tenha um motivo convincente para alterá-lo. Mais tarde no processo, você criará um Namespace vSphere no Cluster do Supervisor com o nome velero
. Esses nomes devem corresponder.guestinfo.cnsdp.datamgrImage
Se não estiver configurado (não definido), o sistema, por padrão, extrairá a imagem do contêiner do Docker Hub em vsphereveleroplugin/data-manager-for-plugin:1.1.0
- Clique em OK para salvar a configuração e em OK novamente para salvar as configurações da VM.
Observação: Se você não tiver alterado a unidade de CD/DVD de Dispositivo host (Host Device) para Dispositivo cliente (Client Device), não poderá salvar as configurações. Se for esse o caso, cancele a operação, altere a unidade e repita as definições de configuração avançadas.
- Não ligue a VM do Data Manager até ativar o Velero vSphere Operator (próxima seção).
Etapa 3: instalar o serviço Velero vSphere Operator no Supervisor
vSphere with Tanzu fornece o Velero vSphere Operator como um Serviço vSphere. O serviço Velero vSphere Operator funciona com o Velero Plugin for vSphere para oferecer suporte ao backup e à restauração de cargas de trabalho do Kubernetes, incluindo a criação de snapshots de volumes permanentes. Para obter mais informações sobre Supervisor Services, consulte a publicação vSphere with Tanzu Services and Workloads.
Conclua a operação a seguir para registrar a especificação do Velero vSphere Operator com o vCenter Server em que o Workload Management está ativado e para instalar o Velero vSphere Operator } como um serviço em Supervisor.
- Faça download do YAML para o Velero vSphere Operator do seguinte local:
http://vmware.com/go/supervisor-service
O arquivo de especificação do serviço é denominado velero-supervisorservice-1.0.0.yaml.
- No menu inicial vSphere Client, selecione Gerenciamento de carga de trabalho.
- Selecione a guia Serviços.
- Selecione o destino vCenter Server no menu suspenso na parte superior.
- Arraste e solte o arquivo de especificação de serviço
velero-supervisorservice-1.0.0.yaml
que você baixou no cartão Adicionar novo serviço.Como alternativa, você pode clicar em Adicionar, procurar e selecionar o arquivo velero-supervisorservice-1.0.0.yaml.
- Clique em Avançar e aceite o contrato de licença.
- Clique em Concluir.
O Operador vSphereVelero está registrado com vCenter Server. Verifique se o serviço está em um estado Ativo. Você não poderá instalar o serviço se ele estiver Desativado.
- Localize a especificação do Operador vSphere do Velero na guia Serviços.
- Clique em .
- Selecione o destino Supervisor no qual você deseja instalar o serviço.
Observação: Se você não vir seu Supervisor, verifique se está usando a rede NSX-T.
- Configure a instalação do serviço do Velero vSphere Operator da seguinte maneira:
- Selecione a versão na lista suspensa: 1.1.0.
- Não especifique um endpoint de repositório.
- Não digite um nome de usuário ou senha.
- Clique em Avançar.
- Clique em Concluir (Finish) para concluir a instalação do serviço.
Verifique o serviço do Velero vSphere Operator no Supervisor e inicie a VM do Data Manager.
- No menu inicial vSphere Client, selecione Gerenciamento de carga de trabalho.
- Selecione .
- Verifique se o Velero vSphere Operator está instalado e o status dele é Configurado.
- No pool de recursos Namespaces, verifique se você vê um novo namespace chamado
svc-velero-vsphere-domain-xxx
, em quexxx
é um token alfanumérico exclusivo. Este é o namespace criado pelo sistema para o Operador vSphere do Velero.Observação: Você não precisa configurar esse namespace e não deve editá-lo. - Na exibição Hosts and Clusters, selecione a VM Data Manager.
- Clique com o botão direito do mouse na VM do Data Manager e ligue-a.
Etapa 4: criar um namespace vSphere para o Velero Plugin for vSphere
- Nomeie o namespace velero.
- Selecione o namespace velero e configure-o.
- Especifique o armazenamento para o namespace velero.
- Conceda a um usuário com os privilégios apropriados a permissão Editar no namespace velero.
Etapa 5: Criar o Configmap do plug-in do Velero
velero-vsphere-plugin-config.yaml
.
apiVersion: v1 kind: ConfigMap metadata: name: velero-vsphere-plugin-config data: cluster_flavor: SUPERVISOR
kubectl apply -n <velero-namespace> -f velero-vsphere-plugin-config.yaml
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 6: Instalar o Velero Plugin for vSphere
kubectl-vsphere
e
kubectl
.
- Faça download da CLI Velero Plugin for vSphere do seguinte local:
https://github.com/vmware-tanzu/velero-plugin-for-vsphere/releases/download/v1.4.0/velero-vsphere-1.2.0-linux-amd64.tar.gzObservação: Nos comandos a seguir, substitua
1.x.x
pela versão do Velero que você baixou. - Copie com segurança a CLI para o host de salto do Linux. Por exemplo:
pscp -P 22 C:\temp\velero-vsphere-1.x.x-linux-amd64.tar.gz [email protected]:/home/ubuntu/tanzu
- Extraia a CLI
velero-vsphere
e torne-a gravável.tar -xf velero-vsphere-1.x.x-linux-amd64.tar.gz chmod +x velero-vsphere
- Adicione a CLI ao seu Caminho.
export PATH="$(pwd)/velero-vsphere-1.x.x-linux-amd64:$PATH"
- Crie o arquivo
s3-credentials
com o seguinte conteúdo.aws_access_key_id = ACCESS-KEY-ID-STRING aws_secret_access_key = SECRET-ACCESS-KEY-STRING
- Obtenha a região, a URL e o nome do bucket do armazenamento de objetos compatível com o S3.
- Faça login no Supervisor usando o vSphere Plugin for kubectl.
- Alterne o contexto para o Supervisor.
kubectl config use-context SUPERVISOR-CLUSTER-IP-ADDRESS
- Execute o seguinte comando da CLI
velero-vsphere
para instalar o Velero Plugin for vSphere no namespace velero que você criou.Exporte os valores para AWS $BUCKET e $REGION. 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 namespacevelero
criado manualmente etc.export BUCKET=example-velero-sv && export REGION=us-east-1 ./velero-vsphere install \ --namespace velero \ --version v1.8.1 \ --provider aws \ --plugins harbor-repo.vmware.com/velero/velero-plugin-for-aws:v1.5.0,harbor-repo.vmware.com/velero/velero-plugin-for-vsphere:v1.4.0 \ --bucket $BUCKET \ --secret-file ~/.aws/credentials \ --snapshot-location-config region=$REGION \ --backup-location-config region=$REGION
Observação: A versão da CLI do Velero será v1.8.1 se a Velero Plugin for vSphere v1.4.0 for usada. - Verifique a instalação bem-sucedida do Velero Plugin for vSphere.
Na instalação bem-sucedida, você deverá ver a seguinte mensagem:
Send the request to the operator about installing Velero in namespace velero
Execute o seguinte comando para verificar melhor. Você deverá ver "Concluído" e a versão.kubectl -n velero get veleroservice default -o json | jq '.status'
Resultado esperado:{ "enabled": true, "installphase": "Completed", "version": "v1.8.1" }
Observação: O comando acima pressupõe que você tenha o utilitáriojq
instalado, que formata a saída JSON enviada para o terminal. Se você não tiver ojq
instalado, instale-o ou remova essa parte do comando (tudo apósjson
). - Solucione problemas conforme necessário.
Se a instalação não for bem-sucedida, remova-a e tente novamente. Para remover a instalação, conclua as etapas na próxima seção na ordem listada.
Adendo: desinstalar o Velero Plugin for vSphere
- Execute a CLI
velero-vsphere
para desinstalar o Velero Plugin for vSphere../velero-vsphere uninstall -n velero
- Verifique se o vSphere Pod chamado
velero
foi removido.kubectl get pods -n velero
Se você vir que o pod está "Encerrando", aguarde até que ele seja removido antes de continuar.
- Usando o vSphere Client, exclua o vSphere Namespace chamado
velero
que você criou manualmente.Observação: Não prossiga para a próxima etapa até que a exclusão do namespace seja concluída. Você pode usar o kubectl para verificar se o namespacevelero
foi removido (mas não use o kubectl para remover o namespacevelero
). - Usando o vSphere Client, desinstale o Velero vSphere Operator do Supervisor.
- Selecione o cluster vCenter em que o Gerenciamento de carga de trabalho está ativado.
- Selecione .
- Selecione o Operador Velero vSphere.
- Clique em Desinstalar.
Essa ação desinstala o Operador vSphere do Velero do Supervisor. O operador permanece disponível para reinstalação na página . Para remover o serviço completamente, selecione .
Adendo: Instalar o plug-in do Velero em um ambiente com falha de ar
Se você planeja instalar o Velero Plugin for vSphere em um ambiente air-gapped, deverá instalá-lo com imagens personalizadas. Você deve garantir que as imagens correspondentes de backup-driver
e data-manager-for-plugin
das imagens personalizadas estejam disponíveis no registro esperado e possam ser acessadas do cluster Kubernetes. Em um ambiente air-gapped, são esperadas imagens personalizadas do registro privado, pois as imagens liberadas no hub do docker não estão acessíveis.
- Faça download das imagens liberadas de
velero-plugin-for-vsphere
,backup-driver
edata-manager-for-plugin
. - Renomeie as imagens, ou seja, marque-as com
<Registry endpoint and path>
e<Version tag>
correspondentes e carregue-as em repositórios personalizados. - Instale o plug-in usando a imagem
velero-plugin-for-vsphere
personalizada.Quando você instala o Velero Plugin for vSphere em um cluster vanilla, ele implanta dois componentes adicionais, uma implantação do
backup-driver
e um DaemonSetdata-manager-for-plugin
em segundo plano. Nos clusters Supervisor e Tanzu Kubernetes, somente uma implantaçãobackup-driver
é implantada.Quando você fornece a imagem de contêiner de
velero-plugin-for-vsphere
, as imagensbackup-driver
edata-manager-for-plugin
correspondentes são analisadas usando um mecanismo de análise de imagem.As imagens de contêiner são formalizadas no seguinte padrão:<Registry endpoint and path>/<Container name>:<Version tag>
Quando você fornece a imagem de contêiner
velero-plugin-for-vsphere
, as imagens correspondentes debackup-driver
edata-manager-for-plugin
com<Registry endpoint and path>
e<Version tag>
correspondentes são analisadas.Por exemplo, considere a seguinte imagem de contêinervelero-plugin-for-vsphere
:abc.io:8989/x/y/.../z/velero-plugin-for-vsphere:vX.Y.Z
Espera-se que as seguintes imagens correspondentes debackup-driver
edata-manager-for-plugin
sejam extraídas:abc.io:8989/x/y/.../z/backup-driver:vX.Y.Z abc.io:8989/x/y/.../z/data-manager-for-plugin:vX.Y.Z
- Solucione problemas de instalação.
Se houver algum problema ou erro ao analisar as imagens correspondentes de
backup-driver
edata-manager-for-plugin
, a instalação retornará às imagens correspondentes dos repositórios oficiais dovelerovsphereplugin
no hub do Docker. Os seguintes problemas acionam o mecanismo de fallback:- Um nome de contêiner inesperado é usado na imagem
velero-plugin-for-vsphere
personalizada na entrada do usuário.Por exemplo,
x/y/velero-velero-plugin-for-vsphere:v1.1.1
é usado. - O nome da implantação do Velero é personalizado para qualquer coisa que não seja
velero
. Por exemplo, um problema será disparado se o nome de implantação do Velero for atualizado paravelero-server
no arquivomanifests
do Velero antes da implantação do Velero.O mecanismo de análise de imagem existente em
velero-plugin-for-vsphere
só pode reconhecer a implantação do Velero com o nome fixo,velero
.
- Um nome de contêiner inesperado é usado na imagem