Backup e ripristino in Kubernetes

Seleziona una versione della documentazione:

Questa pagina mostra come eseguire il backup e il ripristino dei dati di AlloyDB Omni utilizzando l'operatore AlloyDB Omni Kubernetes. Per questa operazione sono necessarie conoscenze di base sull'aggiornamento di un cluster Kubernetes utilizzando i file manifest e lo strumento a riga di comando kubectl. Per ulteriori informazioni sull'installazione e l'esecuzione di AlloyDB Omni su un cluster Kubernetes, consulta Installare AlloyDB Omni su Kubernetes.

Per abilitare il backup e il recupero continui di AlloyDB Omni, devi creare un piano di backup per ogni cluster di database. I backup vengono eseguiti in base alle pianificazioni di backup definite nella risorsa backupPlan. Se nel piano di backup non è definita alcuna pianificazione del backup, i backup continui vengono eseguiti giornalmente per impostazione predefinita. Puoi ripristinare o clonare i backup da qualsiasi timestamp nella finestra di recupero con una granularità di secondi.

Per informazioni sul backup e sul ripristino dei dati AlloyDB Omni nei deployment non Kubernetes, consulta Configurare Barman per AlloyDB Omni e Configurare pgBackRest per AlloyDB Omni.

Abilitare e pianificare i backup

I backup continui vengono abilitati quando crei una risorsa del piano di backup per il cluster di database. Devi creare una risorsa backupPlan per ogni cluster di database per abilitare il backup continuo per quel cluster. Questa risorsa del piano di backup definisce i seguenti parametri:

  • La posizione in cui l'operatore AlloyDB Omni archivia i backup. Può essere locale al tuo cluster Kubernetes o a un bucket Cloud Storage.

  • Un'opzione per impostare più pianificazioni di backup che creano automaticamente backup full, incremental e differential. Puoi mettere in pausa questa pianificazione in qualsiasi momento, anche quando definisci inizialmente il piano di backup. Se un piano di backup è in pausa, i backup pianificati non vengono creati, ma puoi comunque utilizzarlo per creare backup manualmente.

    Se non vengono specificate pianificazioni di backup, il valore predefinito è "0 0 * * *", che esegue un backup completo giornaliero a mezzanotte, ora locale.

  • Un periodo di conservazione per i backup archiviati. Può durare da un giorno a 90 giorni. Il valore predefinito è 14.

  • Puoi eseguire backup dai cluster Kubernetes primari o di standby specificando il valore primary o standby per il campo backupSourceStrategy, rispettivamente. Per migliorare le prestazioni del cluster primario, scarica le operazioni di backup pianificandole da un cluster di standby.

Il cluster di database può avere più piani di backup, ognuno con il proprio nome e la propria configurazione. Se crei più risorse backupPlan con pianificazioni di backup diverse per un cluster di database, devi definire una posizione di backup univoca per ogni risorsa di backup.

Crea un piano per archiviare i backup localmente

Per abilitare i backup archiviati localmente, applica il seguente manifest:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: BackupPlan
    metadata:
      name: BACKUP_PLAN_NAME
      namespace: NAMESPACE
    spec:
      dbclusterRef: DB_CLUSTER_NAME
      backupSchedules:
        full: "FULL_CRON_SCHEDULE"
        differential: "DIFF_CRON_SCHEDULE"
        incremental: "INCR_CRON_SCHEDULE"
      backupRetainDays: RETENTION_DAYS
      backupSourceStrategy: SOURCE_STRATEGY
      paused: PAUSED_BOOLEAN

Sostituisci quanto segue:

  • BACKUP_PLAN_NAME: un nome per questa risorsa del piano di backup, ad esempio backup-plan-1.

  • NAMESPACE: lo spazio dei nomi Kubernetes per questo piano di backup. Deve corrispondere allo spazio dei nomi del cluster di database.

  • DB_CLUSTER_NAME: il nome del cluster di database che hai assegnato quando l'hai creato.

  • FULL_CRON_SCHEDULE: una pianificazione di backup per creare un backup completo, contenente tutti i dati, espresso nel formato cron. Ad esempio, imposta "0 0 * * 0" per eseguire un backup completo alle 00:00 di ogni domenica.

  • DIFF_CRON_SCHEDULE: una pianificazione backup per creare backup che inizialmente sono backup completi. I backup successivi sono differenziali, in base alle modifiche intermedie ai dati, espresse nel cron formato. Ad esempio, imposta "0 22 * * 3" per eseguire un backup differenziale alle 22:00 di ogni mercoledì.

  • INCR_CRON_SCHEDULE: una pianificazione dei backup per creare backup che includono i dati modificati dall'ultimo backup completo, differenziale o incrementale. È espressa nel cron formato. Ad esempio, imposta "0 21 * * *" per eseguire un backup incrementale alle 21:00 ogni giorno.

  • RETENTION_DAYS: il numero di giorni per cui l'operatore AlloyDB Omni conserva questo backup. Deve essere un numero intero compreso tra 1 e 90. Il valore predefinito è 14.

  • SOURCE_STRATEGY: determina se i backup vengono eseguiti dal cluster Kubernetes primario o di standby. Il valore predefinito è primary. Puoi scegliere tra questi valori:

    • primary: i backup vengono eseguiti dal cluster Kubernetes principale.

    • standby: i backup vengono eseguiti dal cluster Kubernetes di standby. Se non è disponibile alcuna istanza di standby quando il campo SOURCE_STRATEGY è impostato su standby, il backup viene eseguito dal cluster Kubernetes principale.

  • PAUSED_BOOLEAN: specifica se il piano di backup è in pausa. Fornisci uno dei seguenti valori:

    • true: i backup sono in pausa e non vengono creati backup pianificati.

    • false: l'operatore AlloyDB Omni crea backup in base alla pianificazione specificata da cronSchedule. Questo è il valore predefinito, se non è impostato esplicitamente su true.

    Il valore predefinito è false.

Crea un piano che archivia i backup in Cloud Storage

Per attivare i backup archiviati su Cloud Storage:

  1. Crea un bucket Cloud Storage. Prendi nota del nome che assegni a questo bucket, perché ti servirà in un passaggio successivo.

  2. Crea un service account per aggiungere i backup al bucket.

  3. Concedi il ruolo Identity and Access Management storage.objectAdmin al service account.

  4. Crea una chiave per il service account. In questo modo la chiave privata viene scaricata nell'ambiente locale.

  5. Rinomina il file della chiave scaricato in key.json.

  6. Crea un secret Kubernetes contenente la chiave privata:

    kubectl create secret generic SECRET_NAME --from-file=KEY_PATH -n NAMESPACE

    Sostituisci quanto segue:

    • SECRET_NAME: il nome del secret Kubernetes che stai creando, ad esempio gcs-key.

    • KEY_PATH: il percorso del file system locale del file key.json che hai scaricato nei passaggi precedenti.

    • NAMESPACE: lo spazio dei nomi del cluster di database.

  7. Applica il seguente manifest:

      apiVersion: alloydbomni.dbadmin.goog/v1
      kind: BackupPlan
      metadata:
        name: BACKUP_PLAN_NAME
        namespace: NAMESPACE
      spec:
        dbclusterRef: DB_CLUSTER_NAME
        backupSchedules:
          full: "FULL_CRON_SCHEDULE"
          differential: "DIFF_CRON_SCHEDULE"
          incremental: "INCR_CRON_SCHEDULE"
        backupRetainDays: RETENTION_DAYS
        backupSourceStrategy: SOURCE_STRATEGY
        paused: PAUSED_BOOLEAN
        backupLocation:
          type: GCS
          gcsOptions:
            bucket: BUCKET_URL
            key: BACKUP_PATH
            secretRef:
              name: SECRET_NAME
              namespace: NAMESPACE
    

    Sostituisci quanto segue:

    • BACKUP_PLAN_NAME: un nome per questa risorsa del piano di backup, ad esempio backup-plan-1.

    • NAMESPACE: lo spazio dei nomi Kubernetes per questo piano di backup. Deve corrispondere allo spazio dei nomi del cluster di database.

    • DB_CLUSTER_NAME: il nome del cluster di database che hai assegnato quando l'hai creato.

    • FULL_CRON_SCHEDULE: una pianificazione di backup per creare un backup completo, contenente tutti i dati, espresso nel formato cron. Ad esempio, imposta "0 0 * * 0" per eseguire un backup completo alle 00:00 di ogni domenica.

    • DIFF_CRON_SCHEDULE: una pianificazione backup per creare backup che inizialmente sono backup completi. I backup successivi sono differenziali, in base alle modifiche intermedie ai dati, espresse nel cron formato. Ad esempio, imposta "0 22 * * 3" per eseguire un backup differenziale alle 22:00 di ogni mercoledì.

    • INCR_CRON_SCHEDULE: una pianificazione dei backup per creare backup che includono i dati modificati dall'ultimo backup completo, differenziale o incrementale. È espressa nel cron formato. Ad esempio, imposta "0 21 * * *" per eseguire un backup incrementale alle 21:00 ogni giorno.

    • RETENTION_DAYS: il numero di giorni per cui l'operatore AlloyDB Omni conserva questo backup. Deve essere un numero intero compreso tra 1 e 90. Il valore predefinito è 14.

    • SOURCE_STRATEGY: determina se i backup vengono eseguiti dal cluster Kubernetes primario o di standby. Il valore predefinito è primary. Puoi scegliere tra questi valori:

      • primary: i backup vengono eseguiti dal cluster Kubernetes principale.

      • standby: i backup vengono eseguiti dal cluster Kubernetes di standby. Se non è disponibile alcuna istanza di standby quando il campo SOURCE_STRATEGY è impostato su standby, il backup viene eseguito dal cluster Kubernetes principale.

    • PAUSED_BOOLEAN: specifica se il piano di backup è in pausa. Fornisci uno dei seguenti valori:

      • true: i backup sono in pausa e non vengono creati backup pianificati.

      • false: l'operatore AlloyDB Omni crea backup in base alla pianificazione specificata da cronSchedule. Questo è il valore predefinito, se non è impostato esplicitamente su true.

      Il valore predefinito è false.

    • BUCKET_URL: il nome del bucket Cloud Storage creato in un passaggio precedente. Questo non è l'URL completo del bucket; non aggiungere il prefisso gs:// al nome del bucket.

    • BACKUP_PATH: il percorso della directory in cui l'operatore AlloyDB Omni scrive i backup all'interno del bucket Cloud Storage. Il percorso deve essere assoluto e iniziare con /.

    • SECRET_NAME: il nome che hai scelto per il secret Kubernetes creato in un passaggio precedente.

Crea backup nello spazio di archiviazione compatibile con S3

Puoi utilizzare il campo s30options per inviare i backup a endpoint compatibili con S3.

I passaggi della procedura seguente sono di alto livello. Per istruzioni specifiche per il tuo caso d'uso, consulta la documentazione del tuo fornitore di S3.

Per attivare i backup sullo spazio di archiviazione compatibile con S3, segui questi passaggi di alto livello:

  1. Crea un bucket di archiviazione S3. Prendi nota del nome che assegni a questo bucket perché lo utilizzerai in un passaggio successivo.
  2. Per accedere al bucket di archiviazione S3, crea un'entità, ad esempio un account di servizio o un utente. Contatta il tuo provider S3 per sapere se devi concedere un ruolo o un criterio predefinito all'entità.
  3. Concedi l'accesso in lettura/scrittura al principal creato nel passaggio precedente. Questo passaggio consente di leggere e scrivere nel bucket di archiviazione S3.
  4. Crea una chiave di accesso per l'entità di servizio che hai creato. La chiave di accesso include un ID chiave e un secret chiave. Questa operazione scarica la chiave nell'ambiente locale.
  5. Crea un secret Kubernetes contenente la chiave:

    kubectl create secret generic SECRET_NAME --from-literal=access-key-id=KEY_ID --from-literal=access-key=KEY -n NAMESPACE

    Sostituisci quanto segue:

    • SECRET_NAME: il nome del secret Kubernetes che stai creando, ad esempio s3-key.
    • KEY_ID: l'ID chiave della chiave di accesso.
    • KEY: il segreto della chiave di accesso.
    • NAMESPACE: lo spazio in cui viene conservato il nome del secret. Questo valore deve essere univoco.
  6. Applica il seguente manifest:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: BackupPlan
    metadata:
      name: BACKUP_PLAN_NAME
      namespace: NAMESPACE
    spec:
      dbclusterRef: DB_CLUSTER_NAME
      backupSchedules:
        full: "FULL_CRON_SCHEDULE"
        differential: "DIFF_CRON_SCHEDULE"
        incremental: "INCR_CRON_SCHEDULE"
      backupRetainDays: RETENTION_DAYS
      backupSourceStrategy: SOURCE_STRATEGY
      paused: PAUSED_BOOLEAN
      backupLocation:
        type: S3
        s3Options:
          bucket: BUCKET_NAME
          region: REGION
          endpoint: S3ENDPOINT
          key: BACKUP_PATH
          secretRef:
            namespace: NAMESPACE
            name: SECRET_NAME
          certRef:
            name: CA_BUNDLE_SECRET_NAME
            namespace: NAMESPACE
    

    Sostituisci quanto segue:

    • BACKUP_PLAN_NAME: un nome per questa risorsa del piano di backup, ad esempio backup-plan-1.
    • NAMESPACE: lo spazio dei nomi Kubernetes per questo piano di backup. Lo spazio dei nomi deve corrispondere a quello del cluster di database.
    • DB_CLUSTER_NAME: il nome del cluster di database che hai assegnato quando l'hai creato.
    • FULL_CRON_SCHEDULE: una pianificazione di backup per creare un backup completo, contenente tutti i dati, espresso nel formato cron. Ad esempio, per eseguire un backup completo alle 00:00 di ogni domenica, imposta FULL_CRON_SCHEDULE su
      0 0 * * 0.
    • DIFF_CRON_SCHEDULE: una pianificazione dei backup per creare backup che inizialmente sono backup completi. I backup successivi sono differenziali, in base alle modifiche intermedie ai dati, espresse nel formato cron. Ad esempio, per eseguire un backup differenziale alle 22:00 ogni mercoledì, imposta 0 22 * * 3 .
    • INCR_CRON_SCHEDULE: una pianificazione dei backup per creare backup che includano i dati modificati dall'ultimo backup completo, differenziale o incrementale. È espressa nel formato cron. Ad esempio, per eseguire un backup incrementale alle 21:00 ogni giorno, imposta questo valore su 0 21 * * * .
    • RETENTION_DAYS: il numero di giorni per cui l'operatore AlloyDB Omni Kubernetes conserva questo backup. Questo parametro deve essere un numero intero compreso tra 1 e 90. Il valore predefinito è 14.
    • SOURCE_STRATEGY: determina se i backup vengono eseguiti dal cluster Kubernetes primario o di standby. Il valore predefinito è primary. Puoi scegliere tra questi valori:
      • primary: i backup vengono eseguiti dal cluster Kubernetes principale.
      • standby: i backup vengono eseguiti dal cluster Kubernetes di standby. Se non è disponibile alcuna istanza di standby quando il campo SOURCE_STRATEGY è impostato su standby, il backup viene eseguito dal cluster Kubernetes principale.
    • PAUSED_BOOLEAN: specifica se il piano di backup è in pausa o meno. Fornisci uno dei seguenti valori:
      • true: i backup sono in pausa e non vengono creati backup pianificati.
      • false: il valore predefinito. L'operatore AlloyDB Omni crea backup in base alla pianificazione specificata da cronSchedule. Questo è il valore predefinito se non è impostato esplicitamente su true.
    • BUCKET_NAME: il nome del bucket di archiviazione S3 che hai creato. Il nome del bucket non è l'URL completo del bucket. Non aggiungere il prefisso gs:// al nome del bucket.
    • REGION: la regione in cui è archiviato il bucket S3.
    • S3ENDPOINT: l'endpoint per il bucket di archiviazione S3.
    • BACKUP_PATH: il percorso della directory in cui l'operatore AlloyDB Omni scrive i backup, all'interno del bucket di archiviazione S3. Il percorso deve essere assoluto e iniziare con /.
    • NAMESPACE: lo spazio in cui il nome del secret deve essere univoco.
    • SECRET_NAME: il nome che hai scelto per il secret Kubernetes che hai creato.
    • CA_BUNDLE_SECRET_NAME: un pool di certificati CA con codifica PEM che il server S3 utilizza per convalidare il certificato. Assicurati che il bundle sia incluso nel secret con una chiave denominata ca.crt.

      L'esempio seguente mostra come creare un secret che contiene il certificato, dove PEM_FILE_PATH è il percorso del file bundle ca:

      kubectl create secret generic CA_BUNDLE_SECRET_NAME -n NAMESPACE --from-file=ca.crt=PEM_FILE_PATH
      

Creare manualmente un backup

Puoi creare manualmente una risorsa di backup in qualsiasi momento, utilizzando qualsiasi piano di backup che hai già applicato a un cluster di database. L'operatore AlloyDB Omni applica la posizione di archiviazione e il periodo di conservazione del piano di backup scelto al nuovo backup manuale.

Per creare manualmente un backup da un cluster Kubernetes primario o di standby, devi specificare l'istanza del database di origine per il backup utilizzando il campo backupSourceRole e applicare il seguente manifest:

apiVersion: alloydbomni.dbadmin.goog/v1
kind: Backup
metadata:
  name: BACKUP_NAME
  namespace: NAMESPACE
spec:
  dbclusterRef: DB_CLUSTER_NAME
  backupPlanRef: BACKUP_PLAN_NAME
  manual: true
  backupSourceRole: SOURCE_ROLE
  physicalBackupSpec:
    backupType: BACKUP_TYPE

Sostituisci quanto segue:

  • BACKUP_NAME: un nome per questo backup, ad esempio backup-1.

  • NAMESPACE: lo spazio dei nomi Kubernetes di questo ripristino. Deve corrispondere allo spazio dei nomi del cluster di database.

  • BACKUP_PLAN_NAME: il nome della risorsa piano di backup a cui appartiene questo backup. Deve corrispondere al nome scelto quando hai creato il piano di backup.

  • DB_CLUSTER_NAME: il nome del cluster di database che hai assegnato quando l'hai creato.

  • SOURCE_ROLE: specifica il ruolo dell'istanza del database di origine da cui viene eseguito il backup manuale. Il valore predefinito è primary. Puoi scegliere uno dei seguenti valori:

    • primary: configura il backup dal cluster Kubernetes principale.
    • standby: configura il backup dal cluster Kubernetes di standby.
  • BACKUP_TYPE: specifica il tipo di backup manuale che vuoi creare. Scegli uno dei seguenti valori:

    • full: crea un backup completo, contenente tutti i dati.

    • diff: crea un backup differenziale che dipende dall'ultimo backup completo. I backup successivi sono differenziali e si basano sulle modifiche apportate ai dati.

    • incr: crea un backup incrementale che dipende dal backup completo o differenziale precedente per includere i dati modificati dall'ultimo backup completo o differenziale.

Monitorare ed elencare i backup

I tuoi piani di backup e backup sono tutte risorse del tuo cluster Kubernetes. Per visualizzare informazioni su di loro, utilizza il comando kubectl get.

Visualizzare un riepilogo del piano di backup

Per visualizzare informazioni sui piani di backup del cluster di database, esegui questo comando:

kubectl get backupplan.alloydbomni.dbadmin.goog -n NAMESPACE

Sostituisci NAMESPACE con lo spazio dei nomi del cluster di database.

L'output è simile al seguente:

NAME               PHASE   LASTBACKUPTIME         NEXTBACKUPTIME
backup-plan-prod   Ready   2023-10-26T17:26:43Z   2023-10-27T00:00:00Z

Visualizzare un elenco di backup

Per visualizzare un elenco dei backup disponibili per il cluster di database, esegui questo comando:

kubectl get backup.alloydbomni.dbadmin.goog -n NAMESPACE

Sostituisci NAMESPACE con lo spazio dei nomi del cluster di database.

L'output è simile al seguente:

NAME                              PHASE       COMPLETETIME
backup-plan-prod-20231026172643   Succeeded   2023-10-26T17:26:53Z
manual-backup-1                   Succeeded   2023-10-26T18:15:27Z
manual-backup-2                   InProgress

Ogni riga della tabella di output rappresenta una risorsa di backup, con i seguenti attributi:

  • Il nome del backup.
  • Lo stato del backup, con Succeeded che indica un backup pronto per il ripristino.
  • Timestamp della creazione del backup.

Ripristina da un backup

AlloyDB ti consente di eseguire il ripristino da singoli backup o di clonare un cluster utilizzando un backup da un momento specifico.

Ripristinare da un backup denominato

Per eseguire il ripristino da un backup, sostituendo i dati nel cluster di database con i dati nel backup, segui questi passaggi.

  1. Elenca tutti i backup la cui fase è Succeeded.

    kubectl get backup.alloydbomni.dbadmin.goog -n NAMESPACE | grep Succeeded

    Sostituisci NAMESPACE con lo spazio dei nomi del cluster di database.

    Se esiste almeno un candidato di backup valido, l'output è simile al seguente:

    backup-plan-prod-20231026172643   Succeeded   2023-10-26T17:26:53Z
    manual-backup-1                   Succeeded   2023-10-26T18:15:27Z
    
  2. Scegli uno dei backup elencati nel passaggio precedente come backup da cui eseguire il ripristino. Prendi nota del nome, che utilizzerai nel passaggio successivo.

  3. Applica il seguente manifest:

      apiVersion: alloydbomni.dbadmin.goog/v1
      kind: Restore
      metadata:
        name: RESTORE_NAME
        namespace: NAMESPACE
      spec:
        sourceDBCluster: DB_CLUSTER_NAME
        backup: BACKUP_NAME
    

    Sostituisci quanto segue:

    • RESTORE_NAME: un nome da utilizzare con la risorsa di ripristino dei dati creata da questo manifest, ad esempio restore-1.

    • DB_CLUSTER_NAME: il nome del cluster di database, che hai assegnato quando l'hai creato.

    • BACKUP_NAME: il nome del backup scelto nel passaggio precedente.

Clona un cluster da un momento specifico

L'operatore AlloyDB Omni ti consente di clonare i dati del cluster da qualsiasi punto nel tempo all'interno di una finestra di recupero. La durata della finestra di recupero è determinata direttamente dal periodo di conservazione.

Ad esempio, se il periodo di conservazione è impostato su 14 giorni, non puoi recuperare i dati più vecchi di 14 giorni. Puoi eseguire il ripristino in qualsiasi momento all'interno della finestra di recupero. L'operatore AlloyDB Omni conserva i backup e i log per un giorno in più rispetto al valore specificato.

  1. Monitora il periodo di ripristino per identificare il punto di ripristino:

    kubectl get backupplan.alloydbomni.dbadmin.goog BACKUP_NAME -n NAMESPACE -o json | jq .status.recoveryWindow
    

    Di seguito è riportato un esempio di risposta:

    recoveryWindow:
    begin: "2024-01-31T02:54:35Z"
    

    Il valore del timestamp nel formato RFC 3339 viene utilizzato nella risorsa di ripristino.

  2. Crea e applica il seguente manifest della risorsa di ripristino:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: Restore
    metadata:
      name: RESTORE_NAME
      namespace: NAMESPACE
    spec:
      sourceDBCluster: DB_CLUSTER_NAME
      pointInTime: "DATE_AND_TIME_STAMP"
      clonedDBClusterConfig:
        dbclusterName: NEW_DB_CLUSTER_NAME
    

    Sostituisci quanto segue:

    • RESTORE_NAME: un nome da utilizzare con la risorsa di ripristino dei dati creata da questo manifest, ad esempio restore-1.

    • DB_CLUSTER_NAME: il nome del cluster di database, che hai assegnato quando l'hai creato.

    • DATE_AND_TIME_STAMP: il timestamp RFC 3339 con granularità al minuto del backup continuo da cui vuoi eseguire il ripristino, ad esempio 2024-03-05T15:32:10Z.

    • NEW_DB_CLUSTER_NAME: il nome del nuovo cluster di database.

Visualizzare lo stato del ripristino

  1. Visualizza l'avanzamento dell'operazione di ripristino:

    kubectl get restore.alloydbomni.dbadmin.goog -n NAMESPACE

    Sostituisci NAMESPACE con lo spazio dei nomi del cluster di database.

    Per eseguire il comando in modo continuo, aggiungi il flag -Aw.

    L'output è simile al seguente:

    NAME        PHASE               COMPLETETIME   RESTOREDPOINTINTIME
    restore-1   RestoreInProgress
    

    Quando il valore della colonna PHASE nella tabella di output è ProvisionSucceeded, il ripristino è completato.

  2. Visualizza l'avanzamento della messa online del cluster di database ripristinato o clonato:

    kubectl get dbclusters -A -n NAMESPACE

    Sostituisci NAMESPACE con lo spazio dei nomi del cluster di database.

    Per eseguire il comando in modo continuo, aggiungi il flag -Aw.

    L'output è simile al seguente:

    NAMESPACE   NAME               PRIMARYENDPOINT   PRIMARYPHASE   DBCLUSTERPHASE
    default     db-cluster-1       10.128.0.55       Ready          DBClusterReady
    

    Quando il valore della colonna DBCLUSTERPHASE nella tabella di output è DBClusterReady, il cluster di database ripristinato o clonato è pronto per l'uso.

Eliminare un backup

In genere, non è necessario eliminare manualmente i backup. L'operatore AlloyDB Omni elimina automaticamente i backup precedenti al periodo di conservazione specificato durante la creazione di un piano di backup.

Se vuoi eliminare manualmente un backup, quest'ultimo deve soddisfare i seguenti requisiti:

  • Il backup non è l'unico backup archiviato per il piano di backup. L'operatore AlloyDB Omni richiede che esista almeno un backup per piano di backup.

  • Il backup non ha altri backup che dipendono da esso. Ad esempio, un backup completo con backup differenziali o incrementali che dipendono da esso oppure un backup incrementale con backup differenziali che dipendono da esso.

Per eliminare un backup, esegui questo comando:

kubectl delete backup.alloydbomni.dbadmin.goog/BACKUP_NAME -n NAMESPACE

Sostituisci quanto segue:

  • BACKUP_NAME: il nome del backup da eliminare.

  • NAMESPACE: lo spazio dei nomi del cluster di database.

Ridimensiona un disco di backup

Per ridimensionare il disco locale che archivia i backup nel cluster Kubernetes, completa i seguenti passaggi:

  1. Aggiorna il campo resources.disks del file manifest DBCluster come segue:

    spec:
      primarySpec:
        resources:
          disks:
            - name: BACKUP_DISK
              size: 10Gi
    

    Sostituisci BACKUP_DISK con il nome del disco in cui sono archiviati i backup.

  2. Applica il manifest per forzare l'aggiornamento.

    L'operatore AlloyDB Omni applica immediatamente le specifiche aggiornate al tuo DBCluster.

Le seguenti limitazioni si applicano alla modifica del disco di backup di un cluster di database in esecuzione:

  • Puoi aumentare le dimensioni di un disco solo se il storageClass specificato supporta l'espansione del volume.
  • Non puoi ridurre le dimensioni di un disco.

Aggiornare un piano di backup

Ogni piano di backup è una risorsa Kubernetes. Per aggiornare la configurazione, esegui una delle seguenti operazioni:

  • Modifica e riapplica il file manifest del piano di backup.

  • Utilizza il comando kubectl patch.

Ad esempio, per mettere in pausa un piano di backup in esecuzione, modifica l'attributo paused del relativo manifest in true, quindi riapplica il manifest.

Eliminare un piano di backup

Per eliminare un piano di backup e rimuovere tutte le relative risorse di backup, esegui il seguente comando:

kubectl delete backupplan.alloydbomni.dbadmin.goog/BACKUP_PLAN_NAME -n NAMESPACE

Sostituisci quanto segue:

  • BACKUP_PLAN_NAME: il nome del piano di backup da eliminare.

  • NAMESPACE: lo spazio dei nomi del cluster di database.

Per sospendere un piano di backup senza eliminarlo, imposta l'attributo paused della risorsa del piano di backup su true. Un piano di backup in pausa continua a archiviare i backup e consente la creazione manuale di backup.