Skip to main content
NetApp public and hybrid cloud solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Instalação do Operador OpenShift API for Data Protection (OADP)

Colaboradores kevin-hoke

Esta seção descreve a instalação do Operador OpenShift API for Data Protection (OADP).

Pré-requisitos

  • Um cluster Red Hat OpenShift (posterior à versão 4.12) instalado em infraestrutura bare-metal com nós de trabalho RHCOS

  • Um cluster NetApp ONTAP integrado ao cluster usando Trident

  • Um backend Trident configurado com um SVM no cluster ONTAP

  • Um StorageClass configurado no cluster OpenShift com Trident como provisionador

  • Classe Trident Snapshot criada no cluster

  • Acesso de administrador de cluster ao cluster Red Hat OpenShift

  • Acesso de administrador ao cluster NetApp ONTAP

  • Um aplicativo, por exemplo, postgresql implantado no cluster

  • Uma estação de trabalho de administração com as ferramentas tridentctl e oc instaladas e adicionadas ao $PATH

Etapas para instalar o operador OADP

  1. Acesse o Operator Hub do cluster e selecione o operador Red Hat OADP. Na página Instalar, use todas as seleções padrões e clique em instalar. Na próxima página, use novamente todos os padrões e clique em Instalar. O operador OADP será instalado no namespace openshift-adp.

API OpenShift para proteção de dados no Operator Hub

Instalação da API OpenShift para Operador de Proteção de Dados

API OpenShift para Operador de Proteção de Dados instalada

Pré-requisitos para configuração do Velero com detalhes do Ontap S3

Após a instalação bem-sucedida do operador, configure a instância do Velero. O Velero pode ser configurado para usar o Object Storage compatível com S3. Configure o ONTAP S3 usando os procedimentos mostrados no"Seção de gerenciamento de armazenamento de objetos da documentação do ONTAP" . Você precisará das seguintes informações da sua configuração do ONTAP S3 para integrar com o Velero.

  • Uma interface lógica (LIF) que pode ser usada para acessar o S3

  • Credenciais do usuário para acessar o S3 que incluem a chave de acesso e a chave de acesso secreta

  • Um nome de bucket no S3 para backups com permissões de acesso para o usuário

  • Para acesso seguro ao armazenamento de objetos, o certificado TLS deve ser instalado no servidor de armazenamento de objetos.

Pré-requisitos para configuração do Velero com detalhes do StorageGrid S3

O Velero pode ser configurado para usar o Object Storage compatível com S3. Você pode configurar o StorageGrid S3 usando os procedimentos mostrados no"Documentação do StorageGrid" . Você precisará das seguintes informações da configuração do StorageGrid S3 para integrar com o Velero.

  • O ponto de extremidade que pode ser usado para acessar o S3

  • Credenciais do usuário para acessar o S3 que incluem a chave de acesso e a chave de acesso secreta

  • Um nome de bucket no S3 para backups com permissões de acesso para o usuário

  • Para acesso seguro ao armazenamento de objetos, o certificado TLS deve ser instalado no servidor de armazenamento de objetos.

Etapas para configurar o Velero

  • Primeiro, crie um segredo para uma credencial de usuário do ONTAP S3 ou credenciais de usuário do StorageGrid Tenant. Isso será usado para configurar o Velero mais tarde. Você pode criar um segredo a partir da CLI ou do console da web. Para criar um segredo no console da web, selecione Segredos e clique em Segredo de chave/valor. Forneça os valores para o nome da credencial, a chave e o valor, conforme mostrado. Certifique-se de usar o ID da chave de acesso e a chave de acesso secreta do seu usuário do S3. Dê um nome apropriado ao segredo. No exemplo abaixo, um segredo com credenciais de usuário do ONTAP S3 chamado ontap-s3-credentials é criado.

Segredo para credenciais de usuário S3

Criar segredo para credenciais de usuário do S3

Para criar um segredo chamado sg-s3-credentials na CLI, você pode usar o seguinte comando.

Criar segredo para credenciais de usuário do Storage Grid S3 usando CLI

  • Em seguida, para configurar o Velero, selecione Operadores instalados no item de menu em Operadores, clique no operador OADP e selecione a guia DataProtectionApplication.

Aplicativo de proteção de dados

Clique em Criar DataProtectionApplication. Na visualização de formulário, forneça um nome para o aplicativo DataProtection ou use o nome padrão.

Criar DataProtectionApplication

Agora vá para a visualização YAML e substitua as informações de especificação conforme mostrado nos exemplos de arquivo yaml abaixo.

Arquivo yaml de exemplo para configurar o Velero com o ONTAP S3 como backupLocation

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'false' ->use this for https communication with ONTAP S3
          profile: default
          region: us-east-1
          s3ForcePathStyle: 'true'  ->This allows use of IP in s3URL
          s3Url: 'https://10.61.181.161' ->Ensure TLS certificate for S3 is configured
        credential:
          key: cloud
          name: ontap-s3-credentials -> previously created secret
        default: true
        objectStorage:
          bucket: velero -> Your bucket name previously created in S3 for backups
          prefix: container-demo-backup ->The folder that will be created in the bucket
          caCert: <base64 encoded CA Certificate installed on ONTAP Cluster with the SVM Scope where the bucker exists>
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
      #default Data Mover uses Kopia to move snapshots to Object Storage
    velero:
      defaultPlugins:
        - csi ->This plugin to use CSI snapshots
        - openshift
        - aws
        - kubevirt -> This plugin to use Velero with OIpenShift Virtualization

Arquivo yaml de exemplo para configurar o Velero com o StorageGrid S3 como backupLocation

spec:
  backupLocations:
    - velero:
        config:
          insecureSkipTLSVerify: 'true'
          profile: default
          region: us-east-1 ->region of your StorageGrid system
          s3ForcePathStyle: 'True'
          s3Url: 'https://172.21.254.25:10443' ->the IP used to access S3
        credential:
          key: cloud
          name: sg-s3-credentials ->secret created earlier
        default: true
        objectStorage:
          bucket: velero
          prefix: demobackup
        provider: aws
  configuration:
    nodeAgent:
      enable: true
      uploaderType: kopia
    velero:
      defaultPlugins:
        - csi
        - openshift
        - aws
        - kubevirt

A seção de especificações no arquivo yaml deve ser configurada apropriadamente para os seguintes parâmetros, semelhante ao exemplo acima

backupLocations ONTAP S3 ou StorageGrid S3 (com suas credenciais e outras informações conforme mostrado no yaml) é configurado como o BackupLocation padrão para o velero.

snapshotLocations Se você usar snapshots da Container Storage Interface (CSI), não precisará especificar um local de snapshot porque você criará um VolumeSnapshotClass CR para registrar o driver CSI. Em nosso exemplo, você usa o Trident CSI e criou anteriormente o VolumeSnapShotClass CR usando o driver Trident CSI.

Habilitar plugin CSI Adicione csi aos defaultPlugins para que o Velero faça backup de volumes persistentes com snapshots CSI. Os plug-ins Velero CSI, para fazer backup de PVCs com suporte a CSI, escolherão o VolumeSnapshotClass no cluster que tem o rótulo velero.io/csi-volumesnapshot-class definido. Por esta

  • Você deve ter o trident VolumeSnapshotClass criado.

  • Edite o rótulo da classe trident-snapshot e defina-o como velero.io/csi-volumesnapshot-class=true conforme mostrado abaixo.

Rótulo da classe Trident Snapshot

Garanta que os snapshots possam persistir mesmo se os objetos VolumeSnapshot forem excluídos. Isso pode ser feito definindo deletionPolicy como Retain. Caso contrário, a exclusão de um namespace perderá completamente todos os PVCs já armazenados em backup nele.

apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
  name: trident-snapshotclass
driver: csi.trident.netapp.io
deletionPolicy: Retain

A política de exclusão do VolumeSnapshotClass deve ser definida como Reter

Certifique-se de que o DataProtectionApplication foi criado e está na condição:Reconciliado.

O objeto DataProtectionApplication é criado

O operador OADP criará um BackupStorageLocation correspondente. Ele será usado ao criar um backup.

BackupStorageLocation foi criado