Skip to main content
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.

Migre aplicativos usando o Trident Protect.

Colaboradores netapp-aruldeepa

Você pode migrar seus aplicativos entre clusters ou para diferentes classes de armazenamento restaurando dados de backup.

Observação Ao migrar um aplicativo, todos os ganchos de execução configurados para ele são migrados juntamente com o aplicativo. Se houver um gancho de execução pós-restauração, ele será executado automaticamente como parte da operação de restauração.

Operações de backup e restauração

Para executar operações de backup e restauração nos seguintes cenários, você pode automatizar tarefas específicas de backup e restauração.

Clonar para o mesmo cluster

Para clonar um aplicativo para o mesmo cluster, crie um snapshot ou backup e restaure os dados para o mesmo cluster.

Passos
  1. Faça um dos seguintes:

  2. No mesmo cluster, faça um dos seguintes procedimentos, dependendo se você criou um snapshot ou um backup:

Clonar para um cluster diferente

Para clonar um aplicativo para um cluster diferente (realizar uma clonagem entre clusters), crie um backup no cluster de origem e, em seguida, restaure o backup em um cluster diferente. Certifique-se de que o Trident Protect esteja instalado no cluster de destino.

Observação Você pode replicar um aplicativo entre clusters diferentes usando"Replicação SnapMirror" .
Passos
  1. "Criar um backup".

  2. Certifique-se de que o AppVault CR para o bucket de armazenamento de objetos que contém o backup foi configurado no cluster de destino.

  3. No cluster de destino,"Restaure seus dados a partir do backup." .

Migrar aplicações de uma classe de armazenamento para outra classe de armazenamento.

Você pode migrar aplicativos de uma classe de armazenamento para uma classe de armazenamento diferente restaurando um backup para a classe de armazenamento de destino.

Por exemplo (excluindo os segredos do CR de restauração):

apiVersion: protect.trident.netapp.io/v1
kind: SnapshotRestore
metadata:
  name: "${snapshotRestoreCRName}"
spec:
  appArchivePath: "${snapshotArchivePath}"
  appVaultRef: "${appVaultCRName}"
  namespaceMapping:
    - destination: "${destinationNamespace}"
      source: "${sourceNamespace}"
  storageClassMapping:
    - destination: "${destinationStorageClass}"
      source: "${sourceStorageClass}"
  resourceFilter:
    resourceMatchers:
      kind: Secret
      version: v1
    resourceSelectionCriteria: exclude
Restaurar o snapshot usando um CR
Passos
  1. Crie o arquivo de recurso personalizado (CR) e dê um nome a ele. trident-protect-snapshot-restore-cr.yaml .

  2. No arquivo que você criou, configure os seguintes atributos:

    • metadata.name: (Obrigatório) O nome deste recurso personalizado; escolha um nome único e adequado ao seu ambiente.

    • spec.appArchivePath: O caminho dentro do AppVault onde o conteúdo do snapshot está armazenado. Você pode usar o seguinte comando para encontrar esse caminho:

      kubectl get snapshots <my-snapshot-name> -n trident-protect -o jsonpath='{.status.appArchivePath}'
    • spec.appVaultRef: (Obrigatório) O nome do AppVault onde o conteúdo do snapshot está armazenado.

    • spec.namespaceMapping: O mapeamento do namespace de origem da operação de restauração para o namespace de destino. Substituir my-source-namespace e my-destination-namespace com informações do seu ambiente.

      ---
      apiVersion: protect.trident.netapp.io/v1
      kind: SnapshotRestore
      metadata:
        name: my-cr-name
        namespace: trident-protect
      spec:
        appArchivePath: my-snapshot-path
        appVaultRef: appvault-name
        namespaceMapping: [{"source": "my-source-namespace", "destination": "my-destination-namespace"}]
  3. Opcionalmente, se precisar selecionar apenas determinados recursos do aplicativo para restaurar, adicione filtros que incluam ou excluam recursos marcados com rótulos específicos:

    • resourceFilter.resourceSelectionCriteria: (Obrigatório para filtragem) Use include or exclude Para incluir ou excluir um recurso definido em resourceMatchers. Adicione os seguintes parâmetros resourceMatchers para definir os recursos a serem incluídos ou excluídos:

      • resourceFilter.resourceMatchers: Um array de objetos resourceMatcher. Se você definir vários elementos nessa matriz, eles corresponderão como uma operação OR, e os campos dentro de cada elemento (grupo, tipo, versão) corresponderão como uma operação AND.

        • resourceMatchers[].group: (Opcional) Grupo do recurso a ser filtrado.

        • resourceMatchers[].kind: (Opcional) Tipo do recurso a ser filtrado.

        • resourceMatchers[].version: (Opcional) Versão do recurso a ser filtrado.

        • resourceMatchers[].names: (Opcional) Nomes no campo metadata.name do Kubernetes do recurso a ser filtrado.

        • resourceMatchers[].namespaces: (Opcional) Namespaces no campo metadata.name do recurso do Kubernetes a ser filtrado.

        • resourceMatchers[].labelSelectors: (Opcional) String do seletor de rótulo no campo metadata.name do recurso do Kubernetes, conforme definido em "Documentação do Kubernetes" . Por exemplo: "trident.netapp.io/os=linux" .

          Por exemplo:

    spec:
      resourceFilter:
        resourceSelectionCriteria: "include"
        resourceMatchers:
          - group: my-resource-group-1
            kind: my-resource-kind-1
            version: my-resource-version-1
            names: ["my-resource-names"]
            namespaces: ["my-resource-namespaces"]
            labelSelectors: ["trident.netapp.io/os=linux"]
          - group: my-resource-group-2
            kind: my-resource-kind-2
            version: my-resource-version-2
            names: ["my-resource-names"]
            namespaces: ["my-resource-namespaces"]
            labelSelectors: ["trident.netapp.io/os=linux"]
  4. Depois de preencher o trident-protect-snapshot-restore-cr.yaml Arquivo com os valores corretos, aplique o CR:

    kubectl apply -f trident-protect-snapshot-restore-cr.yaml
Restaure o snapshot usando a CLI
Passos
  1. Restaure o snapshot para um namespace diferente, substituindo os valores entre colchetes pelas informações do seu ambiente.

    • O snapshot O argumento usa um namespace e um nome de snapshot no formato <namespace>/<name> .

    • O namespace-mapping O argumento usa namespaces separados por dois pontos para mapear namespaces de origem para os namespaces de destino corretos no formato source1:dest1,source2:dest2 .

      Por exemplo:

    tridentctl-protect create snapshotrestore <my_restore_name> --snapshot <namespace/snapshot_to_restore> --namespace-mapping <source_to_destination_namespace_mapping>