Créer une restauration ultraprécise

Cette page explique comment créer une restauration ultrapré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 offre la possibilité d'affiner le champ d'application de la restauration défini dans le plan de restauration.

Avant de commencer

Pour créer une restauration ultraprécise pour une sauvegarde, vous devez disposer des éléments suivants :

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

    • Pour les utilisateurs PA :
      • 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 à l'administrateur IAM de votre organisation de vous attribuer le rôle Administrateur de sauvegarde de cluster d'utilisateur (user-cluster-backup-admin).
    • Pour les utilisateurs AO :
      • Créateur de sauvegarde : crée des sauvegardes et des restaurations manuelles. Demandez à l'administrateur IAM de votre projet de vous attribuer le rôle Créateur de sauvegarde (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 ultrapré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'une ressource Backups existante. 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 ultraprécise. Pour obtenir des exemples, consultez Exemples de filtres de restauration ultraprécise.

Exemples de filtres de restauration ultraprécise

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

Restaurer une seule ressource à l'échelle de l'espace de noms

Cet exemple restaure une ressource ConfigMap nommée 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 sous 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 nommée sc1, à l'aide de la restauration ultraprécise exclusionFilters pour exclure la ressource.

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

Restaurer des ressources avec deux étiquettes

Cet exemple restaure les ressources qui comportent les étiquettes key1:value1 et key2:value2, à l'aide de la restauration ultraprécise inclusionFilters 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 restauration ultraprécise exclusionFilters pour exclure ces deux GroupKind.

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

Étape suivante