Planifier un ensemble de sauvegardes


Cette page explique comment créer un plan de sauvegarde Sauvegarde pour GKE, qui sert à sauvegarder vos charges de travail dans Google Kubernetes Engine (GKE).

Les plans de sauvegarde fournissent les fonctions de configuration, d'emplacement et de gestion d'une séquence de sauvegardes. Un plan de sauvegarde contient une configuration de sauvegarde comprenant le cluster source, la sélection des charges de travail à sauvegarder et la région de stockage des artefacts de sauvegarde produits dans le cadre de ce plan.

Vous pouvez créer un ou plusieurs plans de sauvegarde pour chaque cluster. Il existe deux raisons principales pour lesquelles vous pouvez souhaiter plus d'un plan de sauvegarde pour chaque cluster :

  • Vous voulez stocker vos artefacts de sauvegarde dans plusieurs régions. Dans ce cas, créez un plan de sauvegarde pour chaque région de stockage des sauvegardes.
  • Vous souhaitez partitionner les sauvegardes de votre cluster, par exemple :

    • Plutôt qu'une sauvegarde très volumineuse effectuée à un moment de la journée, vous préférez répartir plusieurs sauvegardes, plus petites, tout au long de la journée.
    • Vous souhaitez sauvegarder certaines parties de votre cluster plus souvent que d'autres (par exemple, des sauvegardes quotidiennes pour certains espaces de noms et des sauvegardes horaires pour d'autres).

Nous recommandons la configuration d'au moins un plan de sauvegarde pour chaque cluster.

Nous vous recommandons également de définir une planification Cron associée au plan de sauvegarde, afin que les sauvegardes soient créées automatiquement en fonction de cette planification. Vous pouvez également sauvegarder manuellement vos charges de travail. Après la création d'un plan de sauvegarde, vous pouvez créer une sauvegarde à partir de ce plan.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et gérer un plan de sauvegarde, demandez à votre administrateur de vous accorder le rôle Administrateur des sauvegardes pour GKE (sauvegarde) roles/gkebackup.backupAdmin, qui est un sous-ensemble du rôle IAM Administrateur des sauvegardes pour GKE (roles/gkebackup.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créez un plan de sauvegarde

Créez un plan de sauvegarde en utilisant gcloud CLI ou Google Cloud Console.

gcloud

Pour créer un plan de sauvegarde avec une planification, exécutez la commande suivante :

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --encryption-key=ENCRYPTION_KEY
    --cron-schedule=SCHEDULE \
    --backup-retain-days=RETAIN_DAYS \
    --backup-delete-lock-days=DELETE_LOCK_DAYS \
    --locked

Remplacez les éléments suivants :

  • BACKUP_PLAN : nom du plan de sauvegarde que vous souhaitez créer.
  • PROJECT_ID : ID de votre projet Google Cloud.
  • LOCATION : région de calcul de la ressource, par exemple us-central1. Consultez la page À propos des emplacements des ressources.
  • CLUSTER : chemin d'accès relatif du cluster :
    • Clusters régionaux : projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME
    • Clusters zonaux : projects/PROJECT_ID/locations/ZONE/clusters/CLUSTER_NAME
  • CLUSTER_NAME : nom du cluster à sauvegarder.
  • --all-namespaces : sauvegarde tous les espaces de noms du cluster.

    Vous pouvez également spécifier :

    • --selected-applications avec une liste d'applications protégées à sauvegarder sous la forme NAMESPACE1/APP1,NAMESPACE2/APP2,....
    • --selected-namespaces avec une liste d'espaces de noms à sauvegarder sous la forme NAMESPACE1,NAMESPACE2,....

    Vous devez spécifier l'une de ces options lors de la création d'un plan de sauvegarde.

  • --include-secrets : (facultatif) inclut les ressources Secret si elles relèvent du champ d'application de la sauvegarde.

  • --include-volume-data : (facultatif) inclut des données de volume persistant dans la sauvegarde. Ne renseignez pas cette option si vous souhaitez créer des volumes vides pendant la restauration.

  • ENCRYPTION_KEY (facultatif) : définit le chemin d'accès à une clé de chiffrement gérée par le client. Consultez la section À propos du chiffrement CMEK.

  • SCHEDULE : (facultatif) définit une planification qui crée automatiquement des sauvegardes prenant en charge la syntaxe cron standard. Par exemple, "10 3 * * *" crée une sauvegarde tous les jours à 03:10. Toutes les heures sont indiquées selon le fuseau horaire UTC. L'intervalle minimal entre les sauvegardes planifiées est de 10 minutes.

  • RETAIN_DAYS : (obligatoire si SCHEDULE est défini) le nombre de jours de conservation de la sauvegarde. Les sauvegardes de ce plan sont automatiquement supprimées après cette période.

  • DELETE_LOCK_DAYS : (facultatif) nombre de jours pendant lesquels les sauvegardes ne peuvent pas être supprimées. Si cette valeur est définie, les sauvegardes créées pour ce plan ne peuvent pas être supprimées (automatiquement ou manuellement) avant l'expiration de cette durée de vie.

  • --locked : (facultatif) verrouille la règle de conservation du plan de sauvegarde.

Pour obtenir la liste complète des options, consultez la documentation gcloud beta container backup-restore backup-plans create.

Créer un BackupPlan pour tous les espaces de noms avec une programmation quotidienne

La commande suivante crée un BackupPlan afin de planifier tous les jours à 5h20 une sauvegarde de tous les espaces de noms. Les sauvegardes sont conservées pendant sept jours et verrouillées pendant trois jours après leur création :

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --all-namespaces \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="20 5 * * *" \
    --backup-retain-days=7 \
    --backup-delete-lock-days=3 \
    --locked

Créer un BackupPlan pour un espace de noms sélectionné avec une programmation horaire

La commande suivante crée un BackupPlan afin de planifier une sauvegarde de l'espace de noms sélectionné (my-ns) à la minute 15 de toutes les heures. Les sauvegardes sont conservées pendant trois jours après leur création :

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-namespaces=my-ns \
    --include-secrets \
    --include-volume-data \
    --cron-schedule="15 * * * *" \
    --backup-retain-days=3

Créer un BackupPlan pour un ProtectedApplication sélectionné

La commande suivante crée un BackupPlan pour sélectionner l'application ProtectedApplication (my-ns/my-app).

gcloud beta container backup-restore backup-plans create BACKUP_PLAN \
    --location=LOCATION \
    --cluster=CLUSTER \
    --selected-applications=my-ns1/my-app1,my-ns2/my-app2 \
    --include-secrets \
    --include-volume-data

Console

Suivez les instructions ci-dessous pour créer un plan de sauvegarde dans la console Google Cloud :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans le menu de navigation, cliquez sur Sauvegarde pour GKE.

  3. Cliquez sur Créer un plan de sauvegarde.

  4. Dans la section Détails du plan, procédez comme suit :

    1. Sélectionnez le cluster à sauvegarder.
    2. Saisissez le nom du plan de sauvegarde et la description facultative.
    3. Choisissez un emplacement pour la sauvegarde.
  5. Dans le champ Chaîne CRON de la section Planning des sauvegardes, saisissez une expression à l'aide de la syntaxe Cron standard. Par exemple, 10 3 * * * crée une sauvegarde tous les jours à 03h10. Toutes les heures sont indiquées selon le fuseau horaire UTC. L'intervalle minimal entre les sauvegardes planifiées est de 10 minutes.

  6. Dans la section Règle de conservation, procédez comme suit :

    1. Définissez le nombre de jours de conservation de la sauvegarde avant sa suppression automatique.
    2. Définissez le nombre de jours pendant lesquels les sauvegardes ne peuvent pas être supprimées.
    3. Pour verrouiller la règle de conservation, cliquez sur l'icône en forme de cadenas pour passer de l'état Désactivé à Activé.
  7. Dans la section Configurer le champ d'application et le chiffrement de la sauvegarde, procédez comme suit :

    1. Sélectionnez le champ d'application du plan de sauvegarde :

      • Cliquez sur Cluster complet (y compris tous les espaces de noms) pour sauvegarder l'ensemble des ressources de l'espace de noms dans la sauvegarde.
      • Cliquez sur Espaces de noms sélectionnés dans ce cluster pour choisir les espaces de noms que vous souhaitez inclure dans le plan de sauvegarde.
      • Cliquez sur Applications protégées sélectionnées dans ce cluster pour ajouter des ressources en spécifiant l'espace de noms et le nom de l'application.
    2. Cochez la case Secrets pour inclure les ressources Secret Kubernetes.

    3. Cochez la case Données de volume persistant si vous souhaitez que les données de volume soient conservées dans votre sauvegarde. Si vous choisissez d'ignorer les données de volume, vous ne pouvez pas les restaurer lors de la restauration. Toutefois, vous disposez de deux options pour choisir les données de volume lors de la restauration : Provisionner de nouveaux volumes ou Réutiliser des volumes existants.

    4. Pour activer le chiffrement CMEK, vous devez d'abord accorder l'accès aux clés CMEK appropriées (consultez la page À propos du chiffrement CMEK).

      1. Cochez la case Utiliser une clé de chiffrement gérée par le client pour sélectionner une clé.
  8. Vérifiez les informations du plan de sauvegarde, puis cliquez sur Créer un plan.

Terraform

Créer une ressource google_gke_backup_backup_plan

resource "google_gke_backup_backup_plan" "basic" {
   name = "BACKUP_PLAN"
   cluster = google_container_cluster.CLUSTER.id
   location = "LOCATION"
   retention_policy {
     backup_retain_days = 7
   }
   backup_schedule {
     cron_schedule = "17 3 * * *"
   }
   backup_config {
     include_volume_data = true
     include_secrets = true
     all_namespaces = true
   }
}

Remplacez les éléments suivants :

  • BACKUP_PLAN : nom du plan de sauvegarde que vous souhaitez créer.
  • CLUSTER : nom de votre ressource google_container_cluster.
  • LOCATION : région dans laquelle vous souhaitez stocker les sauvegardes.

Pour en savoir plus, consultez la section gke_backup_backup_plan.

Afficher un plan de sauvegarde

Affichez un plan de sauvegarde et ses informations en utilisant gcloud CLI ou la console Google Cloud.

gcloud

Pour répertorier tous les plans de sauvegarde du projet et de la région, exécutez la commande suivante :

gcloud beta container backup-restore backup-plans list \
    --project=PROJECT_ID \
    --location=LOCATION

Pour les commandes list uniquement, vous pouvez spécifier - comme valeur pour n'importe quel paramètre, à l'exception de PROJECT_ID. La valeur - sert de caractère générique. La valeur - est utilisée par défaut pour tout paramètre si vous ne spécifiez pas d'option de ligne de commande ou ne définissez pas de propriété.

Pour obtenir la liste complète des options, consultez la documentation gcloud beta container backup-restore backup-plans list.

Pour afficher les informations relatives à un plan de sauvegarde, exécutez la commande suivante :

gcloud beta container backup-restore backup-plans describe BACKUP_PLAN \
     --project=PROJECT_ID \
     --location=LOCATION

Pour obtenir la liste complète des options, consultez la documentation gcloud beta container backup-restore backup-plans describe.

Console

Suivez les instructions ci-dessous pour afficher un plan de sauvegarde dans la console Google Cloud :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine.

  2. Dans le menu de navigation, cliquez sur Sauvegarde pour GKE.

  3. Cliquez sur l'onglet Plans de sauvegarde.

  4. Développez le cluster, puis cliquez sur le nom du plan.

  5. Cliquez sur l'onglet Détails pour afficher les informations relatives au plan.

Mettre à jour un plan de sauvegarde

Mettez à jour un plan de sauvegarde en utilisant gcloud CLI ou la console Google Cloud.

gcloud

Pour mettre à jour un plan de sauvegarde, par exemple en ajoutant une description, exécutez la commande suivante :

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --description=DESCRIPTION

Pour obtenir la liste complète des options, consultez la documentation gcloud beta container backup-restore backup-plans update.

Console

Suivez les instructions ci-dessous pour mettre à jour un plan de sauvegarde dans la console Google Cloud :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans le menu de navigation, cliquez sur Sauvegarde pour GKE.

  3. Cliquez sur l'onglet Plans de sauvegarde.

  4. Développez le cluster, puis cliquez sur le nom du plan.

  5. Cliquez sur l'onglet Détails pour modifier les informations relatives au plan.

  6. Cliquez sur Modifier pour modifier une section du plan, puis cliquez sur Enregistrer les modifications.

Suspendre une planification de sauvegarde

Vous pouvez suspendre votre planification de sauvegarde. Lorsque la planification est suspendue, les sauvegardes automatiques ne sont pas créées. Vous pouvez toujours créer des sauvegardes manuellement.

gcloud

Pour suspendre une planification de sauvegarde, exécutez la commande suivante :

gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION \
    --paused

Pour obtenir la liste complète des options, consultez la documentation gcloud beta container backup-restore backup-plans update.

Console

Suivez les instructions ci-dessous pour suspendre une planification de sauvegarde dans la console Google Cloud :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans le menu de navigation, cliquez sur Sauvegarde pour GKE.

  3. Cliquez sur l'onglet Plans de sauvegarde.

  4. Développez le cluster, puis cliquez sur le nom du plan.

  5. Cliquez sur Suspendre la planification, puis sur Suspendre la planification dans la boîte de dialogue de confirmation.

Supprimer un plan de sauvegarde

Vous pouvez supprimer un plan de sauvegarde à l'aide de gcloud CLI ou de la console Google Cloud. Vous ne pouvez pas supprimer un plan de sauvegarde contenant des sauvegardes.

gcloud

Pour supprimer une sauvegarde, exécutez la commande suivante :

gcloud beta container backup-restore backup-plans delete BACKUP_PLAN \
    --project=PROJECT_ID \
    --location=LOCATION

Pour obtenir la liste complète des options, consultez la documentation gcloud beta container backup-restore backup-plans delete.

Console

Suivez les instructions ci-dessous pour supprimer un plan de sauvegarde dans la console Google Cloud :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans le menu de navigation, cliquez sur Sauvegarde pour GKE.

  3. Cliquez sur l'onglet Plans de sauvegarde.

  4. Développez le cluster, puis cliquez sur le nom du plan.

  5. Cliquez sur Supprimer le plan.

  6. Saisissez le nom du plan de sauvegarde, puis cliquez sur Supprimer le plan de sauvegarde dans la boîte de dialogue de confirmation.

Étape suivante