Resolva conflitos de recursos durante o restauro

Esta página descreve como configurar estratégias de processamento de conflitos para recursos com espaço de nomes e com âmbito de cluster num plano de restauro.

Quando faz o restauro para um cluster, pode encontrar conflitos de recursos nos seguintes cenários:

  • Restaurar para um cluster existente que já tenha recursos aprovisionados.
  • Quando um recurso do Kubernetes é gerido por ferramentas, como o GitOps ou um operador.

A cópia de segurança para o GKE oferece várias opções para definir o processamento de conflitos para recursos com âmbito de cluster e com espaço de nomes que pode especificar num plano de restauro.

Restaure o processamento de conflitos para recursos com âmbito de cluster

Pode configurar as seguintes opções no plano de restauro para processar conflitos para recursos com âmbito de cluster:

  • Manter recursos no cluster de destino (não destrutivo): se existir um recurso com o mesmo nome no cluster de destino, deixe-o como está.
  • Substituir recursos no cluster de destino (destrutivo): se já existir um recurso no cluster de destino, elimine-o e restaure a cópia da cópia de segurança.

gcloud

Atualize um plano de restauro existente para processar conflitos de um recurso com âmbito de cluster:

gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster-resource-conflict-policy=CLUSTER_RESOURCE_CONFLICT_POLICY

Substitua o seguinte:

  • RESTORE_PLAN: o nome do plano de restauro que quer atualizar.
  • PROJECT_ID: o ID do seu projeto Google Cloud .
  • LOCATION: a região de computação do recurso, por exemplo, us-central1.
  • CLUSTER_RESOURCE_CONFLICT_POLICY: define como processar conflitos no momento do restauro para recursos de cluster selecionados. Use uma das seguintes opções:

    • use-existing-version: se os recursos que estão a ser restaurados já existirem no cluster de destino, a Cópia de segurança do GKE mantém os recursos existentes.
    • use-backup-version: se os recursos que estão a ser restaurados já existirem no cluster de destino, a Cópia de segurança do GKE substitui os recursos existentes pelos novos recursos da cópia de segurança.

Consola

Siga as instruções abaixo para atualizar a política de conflitos de recursos com âmbito de cluster na Google Cloud consola:

  1. Na Google Cloud consola, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu de navegação, clique em Backup for GKE.

  3. Clique no separador Restaurar planos.

  4. Clique no nome do plano de restauro.

  5. Clique no separador Detalhes.

  6. Na secção Restaurar configurações, aceda à secção Recursos com âmbito de cluster e clique em Editar.

  7. Na secção Definir processamento de conflitos, selecione uma opção de processamento de conflitos.

  8. Clique em Guardar alterações.

Restaure o processamento de conflitos para recursos com espaço de nomes

No plano de restauro, pode configurar as seguintes opções para gerir conflitos para um recurso com espaço de nomes. Pode especificar o processamento de conflitos para recursos com espaço de nomes nos seguintes níveis:

  • Recurso individual
  • Namespace e ProtectedApplication

Seguem-se as opções disponíveis para processar conflitos para os recursos individuais:

  • Ignorar união (não destrutiva): se um recurso específico já existir, ignore a restauração do recurso a partir da cópia de segurança.
  • Unir volume de substituição (destrutivo): se já existir um recurso específico, ignore a restauração desse recurso, mas substitua o volume persistente subjacente usando a política de restauração de dados de volume. A união substitui o volume e permite o restauro apenas de dados.
  • Substituição da união (destrutiva): se já existir um recurso específico, substitua esse recurso pelo recurso da cópia de segurança e pelos dados de volume associados seguindo a política de restauro de dados de volume.

Seguem-se as opções disponíveis para processar conflitos de todos os recursos pertencentes a um Namespace e a uma ProtectedApplication:

  • Falhar em caso de conflito (não destrutivo): se o espaço de nomes ou a ProtectedApplication segmentada para restauro a partir de uma cópia de segurança que já exista no cluster de destino, o restauro falha.
  • Reversão (destrutiva): quando o cluster de destino contém o espaço de nomes ou a ProtectedApplication que são segmentados para restauro no cluster, o grupo de recursos existente é eliminado antes de os novos recursos serem restaurados.

gcloud

Atualize um plano de restauro existente para processar conflitos de um recurso com espaço de nomes:

gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --namespaced-resource-restore-mode=NAMESPACED_RESOURCE_RESTORE_MODE

Substitua o seguinte:

  • RESTORE_PLAN: o nome do plano de restauro que quer atualizar.
  • PROJECT_ID: o ID do seu projeto Google Cloud .
  • LOCATION: a região de computação do recurso, por exemplo, us-central1.
  • NAMESPACED_RESOURCE_RESTORE_MODE: define como processar conflitos de tempo de restauro para recursos com espaço de nomes. Use uma das seguintes opções:

    • merge-skip-on-conflict: ignorar os recursos individuais em conflito.
    • merge-replace-volume-on-conflict: ignorar os recursos individuais em conflito, mas substituir os dados do volume persistente subjacente.
    • merge-replace-on-conflict: substitua os recursos individuais em conflito e os dados do volume persistente subjacentes.
    • fail-on-conflict: falhar em caso de espaço de nomes em conflito ou ProtectedApplication.
    • delete-and-restore: reverta o espaço de nomes em conflito ou o ProtectedApplication.

Consola

Siga as instruções abaixo para atualizar a política de conflitos de recursos com espaço de nomes na Google Cloud consola:

  1. Na Google Cloud consola, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu de navegação, clique em Backup for GKE.

  3. Clique no separador Restaurar planos.

  4. Clique no nome do plano de restauro.

  5. Clique no separador Detalhes.

  6. Na secção Restaurar configurações, aceda à secção Recursos com espaço de nomes e clique em Editar.

  7. Na secção Definir processamento de conflitos, selecione uma opção de processamento de conflitos.

  8. Clique em Guardar alterações.

A tabela seguinte apresenta as estratégias de processamento de conflitos recomendadas para determinados cenários comuns:

Scenarios Use o processamento de conflitos recomendado para um recurso com espaço de nomes Use o processamento de conflitos recomendado para um recurso com âmbito de cluster
Restaurar para um cluster totalmente novo Falha em caso de conflito Mantenha os recursos no cluster de destino
Reverter todo o espaço de nomes ou a ProtectedApplication Elimine e restaure Não aplicável
Restaurar para um cluster gerido pelo GitOps sem volumes Ignorar união Mantenha os recursos no cluster de destino
Restauro apenas de dados para um cluster gerido pelo GitOps Mesclar volume de substituição Mantenha os recursos no cluster de destino
Reverter os dados de volume e da carga de trabalho selecionados Substituição de união Substitua recursos no cluster de destino

O que se segue?