Créer une restauration ultraprécise

Cette page explique comment créer une restauration précise pour une sauvegarde dans Google Distributed Cloud (GDC) air-gapped.

La fonctionnalité de restauration ultraprécise vous permet de restaurer un sous-ensemble de ressources à partir d'une sauvegarde. Cette fonctionnalité vous permet d'affiner le champ d'application de la restauration défini dans le plan de restauration.

Avant de commencer

Pour créer une restauration précise d'une sauvegarde, vous devez disposer des éléments suivants :

  • Une sauvegarde existante. Pour en savoir plus, consultez Planifier un ensemble de sauvegardes.
  • Rôle d'identité et d'accès nécessaire :

    • Pour les utilisateurs de l'assistance aux parents :
      • Administrateur de sauvegarde de cluster d'utilisateur : gère les ressources de sauvegarde telles que les plans de sauvegarde et de restauration dans les clusters d'utilisateur. Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Administrateur de sauvegarde de cluster utilisateur (user-cluster-backup-admin).
    • Pour les utilisateurs AO :
      • Backup Creator : crée des sauvegardes manuelles et les restaure. Demandez à l'administrateur IAM du projet de vous accorder le rôle Créateur de sauvegardes (backup-creator).
    • Pour en savoir plus, consultez Définitions des rôles.

Créer une restauration ultraprécise

Pour créer une restauration avec un filtre précis, procédez comme suit :

  1. Créez les filtres de restauration ultraprécise. Vous pouvez utiliser l'exemple YAML suivant.

    inclusionFilters:
      - groupKind:
          group: foo.io
          kind: Bar
        name: name1
        namespace: ns1
    exclusionFilters:
      - labels:
          key1: value1
          key2: value2
    
  2. Créez une ressource personnalisée ManualRestoreRequest pour planifier les restaurations à partir d'un Backups existant. Voici un exemple de ManualRestoreRequest :

    apiVersion: backup.gdc.goog/v1
    kind: ManualRestoreRequest
    metadata:
      name: RESTORE_NAME
      namespace: PROJECT_NAMESPACE
    spec:
      restoreName: RESTORE_NAME
      restorePlanName: RESTORE_PLAN
      backupName: BACKUP_NAME
      filter:
        FINE_GRAINED_RESTORE_FILTERS
    

Remplacez les éléments suivants :

  • RESTORE_NAME : nom de la restauration que vous souhaitez créer.
  • PROJECT_NAMESPACE : nom de votre projet GDC.
  • RESTORE_PLAN : nom du plan de restauration à partir duquel cette restauration est dérivée.
  • BACKUP_NAME : sauvegarde à restaurer. Cette sauvegarde doit être associée au plan de sauvegarde auquel fait référence le plan de restauration. Pour en savoir plus, consultez Planifier un ensemble de restaurations.
  • FINE_GRAINED_RESTORE_FILTER : filtres de restauration précis. Pour obtenir des exemples, consultez Exemples de filtres de restauration précis.

Exemples de filtres de restauration ultraprécise

Les exemples suivants sont fournis au format YAML utilisé par Google Cloud CLI.

Restaurer une seule ressource d'espace de noms

Cet exemple restaure une ressource ConfigMap portant le nom nginx-vars dans l'espace de noms webserver, à l'aide de la restauration ultraprécise inclusionFilters pour sélectionner la ressource. Si vous souhaitez choisir des ressources dans le groupe principal, utilisez une chaîne vide pour le champ group.

filter:
  inclusionFilters:
  - groupKind:
      kind: ConfigMap
    name: nginx-vars
    namespace: webserver

Exclure une seule ressource à l'échelle du cluster

Cet exemple restaure toutes les ressources disponibles, à l'exception d'une ressource groupKind portant le nom sc1, à l'aide de la fonction exclusionFilters de restauration ultraprécise pour exclure la ressource.

filter:
  exclusionFilters:
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass
    name: sc1

Restaurer des ressources avec deux libellés

Cet exemple restaure les ressources qui possèdent à la fois les libellés key1:value1 et key2:value2, à l'aide de la fonction inclusionFilters de restauration ultraprécise pour sélectionner les ressources.

filter:
  inclusionFilters:
  - labels:
      key1: value1
      key2: value2

Exclure toutes les ressources de certains GroupKind

Cet exemple restaure toutes les ressources disponibles, à l'exception des ressources groupKind de ConfigMap et storage.k8s.io/StorageClass, à l'aide de la fonction exclusionFilters de restauration ultraprécise pour exclure ces deux GroupKind.

filter:
  exclusionFilters:
  - groupKind:
      kind: ConfigMap
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass

Étapes suivantes