Cloner un cluster de bases de données

Vous pouvez cloner un cluster de bases de données pour en créer un autre contenant les mêmes données que le cluster d'origine. Le clonage est un bon moyen de créer des clusters de bases de données à des fins de test.

Avant de commencer

Assurez-vous que le service de sauvegarde est activé sur le cluster de bases de données source à partir duquel vous souhaitez effectuer le clonage.

Une fois que la fenêtre de récupération est disponible pour le cluster de bases de données source, vous pouvez spécifier un point dans le temps dans la fenêtre de récupération sur lequel baser le clone. Vous n'êtes pas limité au clonage de l'état actuel d'un cluster de bases de données. Le service de base de données clone un nouveau cluster de base de données au moment exact que vous spécifiez.

Cloner le cluster de bases de données

Vous pouvez cloner un cluster de bases de données à l'aide de la console GDC, de la CLI gdcloud ou de l'API :

Console

  1. Dans le menu principal de la console GDC, sélectionnez Service de base de données.
  2. Sélectionnez le cluster de bases de données à cloner.
  3. Cliquez sur add_box CLONER.
  4. Dans la boîte de dialogue Créer un clone, spécifiez le moment précis à partir duquel effectuer le clonage et indiquez un ID pour le nouveau cluster de bases de données.
  5. Cliquez sur CLONER. Vous accédez alors à la page de présentation du cluster de base de données, où vous pouvez surveiller son état.

gdcloud

Utilisez la commande suivante pour cloner un cluster de bases de données :

gdcloud database clusters clone SOURCE \
   DESTINATION --point-in-time POINT_IN_TIME

Remplacez les éléments suivants :

  • <var>SOURCE</var> : nom du cluster de bases de données à partir duquel créer un clone.
  • <var>DESTINATION</var> : nom du nouveau cluster de bases de données à créer.
  • <var>POINT_IN_TIME</var> : code temporel du moment à utiliser comme base du clone. Utilisez le format de code temporel RFC 3339 (yyyy-MM-dd'T'HH:mm:ss'Z'). Le code temporel doit se situer dans la période de récupération du cluster de bases de données source. Sinon, la demande de clonage est rejetée.

API

Pour cloner un cluster de bases de données, créez une ressource Restore :

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Restore
metadata:
  name: NEW_DBCLUSTER_NAME_restore
  namespace: NAMESPACE
spec:
  sourceDBCluster: DBCLUSTER_NAME
  pointInTime: "POINT_IN_TIME"
  clonedDBClusterConfig:
    dbclusterName: NEW_DBCLUSTER_NAME

Remplacez les éléments suivants :

  • NEW_DBCLUSTER_NAME : nom du nouveau cluster de bases de données à créer.
  • NAMESPACE : espace de noms dans lequel créer le cluster de bases de données.
  • POINT_IN_TIME : code temporel du moment à utiliser comme base du clone. Utilisez le format de code temporel RFC 3339 (yyyy-MM-dd'T'HH:mm:ss'Z'). Définissez un code temporel dans la fenêtre de récupération du cluster de base de données source. Sinon, le système rejettera la demande de clonage. Exécutez kubectl get backupplan.o -n NAMESPACE pour déterminer la période de récupération.