Esportare un cluster di database

Prima di esportare i dati, devi:

Concedere al account di servizio di esportazione del servizio di database l'accesso in scrittura al bucket di archiviazione oggetti di destinazione. Questo binding di ruolo deve essere creato nello stesso spazio dei nomi del cluster di database soggetto. Consulta Concedere e ottenere l'accesso allo spazio di archiviazione.

Il sistema del servizio di database crea automaticamente questo account di servizio quando viene creato il cluster di database. Per trovare lo spazio dei nomi che contiene il account di servizio gestito dal controller, utilizza i seguenti comandi:

kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.export}'

kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.import}'

Una volta ottenuto lo spazio dei nomi, il account di servizio che stai cercando si chiama postgresql-export-DATABASE_CLUSTER_NAME.

Sostituisci DATABASE_CLUSTER_NAME con il nome del cluster di database da cui stai esportando i dati.

Puoi esportare un cluster di database in un file di dump dei dati utilizzando la console GDC o Distributed Cloud CLI:

Console

  1. Dal menu principale, scegli Servizio di database.
  2. Seleziona il cluster di database che vuoi esportare. Viene visualizzata la pagina Panoramica del cluster di database per il cluster.
  3. Fai clic su ESPORTA. Si apre il riquadro Esporta dati.
  4. Nel riquadro Esporta dati, specifica la località di archiviazione in cui esportare.
  5. Fai clic su ESPORTA. I messaggi sullo schermo indicano lo stato del processo di esportazione.

gdcloud CLI

  1. Prima di utilizzare Distributed Cloud CLI, installala e inizializzala. Poi, esegui l'autenticazione con la tua organizzazione.
  2. Esegui il comando seguente per esportare un file di database in un file di dump:

    gdcloud database export sql DATABASE_CLUSTER \
         BUCKET_NAME/SAMPLE.dmp --project=PROJECT_NAME
    

    Sostituisci quanto segue:

    • DATABASE_CLUSTER con il nome del cluster di database da esportare.
    • BUCKET_NAME/SAMPLE.dmp con la destinazione del file di dump esportato.
    • PROJECT_NAME con il nome del progetto in cui si trova il cluster di database.

API

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Export
metadata:
  name: EXPORT_NAME
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  exportLocation:
    s3Options:
      bucket: BUCKET_NAME
      key: dbs-export
    type: S3

Sostituisci le seguenti variabili:

  • EXPORT_NAME: il nome dell'operazione di esportazione.
  • USER_PROJECT: il nome del progetto utente in cui viene creato il cluster di database da esportare.
  • DBCLUSTER_NAME: il nome del cluster di database.
  • BUCKET_NAME: il nome del bucket di archiviazione oggetti in cui archiviare i file esportati.