Crea un repository di backup

Questa pagina descrive come creare un repository di backup per le macchine virtuali (VM) in Google Distributed Cloud (GDC) air-gapped.

Prima di creare backup o snapshot, devi definire almeno un repository di backup che possa essere condiviso tra più backup o snapshot. Un repository di backup indica al sistema di backup dove archiviare o recuperare i backup. I repository di backup per le VM sono limitati al server API Management.

Prima di iniziare

Prima di creare un repository di backup, devi eseguire il provisioning dello spazio di archiviazione sottostante e configurare le autorizzazioni necessarie, tra cui:

Crea un repository di backup

Crea un repository utilizzando la console GDC o l'API.

Console

  1. Accedi alla console GDC.
  2. Nel menu di navigazione, fai clic su Backup for Virtual Machines > Repository.
  3. Fai clic su Crea repository.
  4. Inserisci un nome del repository e una descrizione facoltativa.
  5. Nel campo Endpoint URI S3, inserisci un endpoint con il nome di dominio completo del tuo sito di archiviazione degli oggetti, ad esempio https://objectstorage.ORG.ZONE.DOMAIN.SUFFIX:PORT. Ad esempio: https://objectstorage.org-1.zone1.google.gdch.test. Per ottenere il valore dalla risorsa personalizzata Bucket, esegui questo comando:

    kubectl get Bucket BUCKET_NAME -n NAMESPACE -o json | jq -r '.status.endpoint'
    
  6. Nel campo Nome bucket, inserisci il nome di dominio completo del bucket. Puoi ottenere questo nome dalla pagina Dettagli bucket nella console GDC oppure, per ottenere il valore dalla risorsa personalizzata Bucket, esegui il seguente comando:

    kubectl get Bucket BUCKET_NAME -n NAMESPACE -o json | jq -r '.status.fullyQualifiedName'
    
  7. Nel campo Regione bucket, inserisci la regione in cui è stato creato il bucket e ottieni il valore dalla risorsa personalizzata del bucket eseguendo il seguente comando:

    kubectl get Bucket BUCKET_NAME -n NAMESPACE -o json | jq -r '.status.region'
    
  8. Nei campi ID chiave di accesso e Chiave di accesso, inserisci l'ID chiave di accesso e la chiave di accesso segreta. Per saperne di più su come ottenere queste credenziali, consulta Concedere e ottenere l'accesso al bucket di archiviazione.

  9. Fai clic su Crea.

API

Crea una risorsa personalizzata BackupRepository utilizzando le tue credenziali S3.

  1. Recupera il nome del secret che contiene le credenziali S3:

    export PROJECT_NAME=PROJECT_NAME
    export SA_NAME=SA_NAME
    kubectl get secrets --namespace $PROJECT_NAME -o json | jq -r --arg USER_NAME "${SA_NAME:?}" '.items[] | select( (.metadata.annotations."object.gdc.goog/subject"==$USER_NAME)) | .metadata.name'
    

    Assicurati di registrare il nome del secret restituito dal comando e di utilizzarlo come SECRET_NAME nel passaggio successivo.

    Sostituisci quanto segue:

    • PROJECT_NAME: il nome del progetto.
    • SA_NAME: il nome del account di servizio utilizzato per accedere all'archiviazione di oggetti.
  2. Per ottenere i dettagli del bucket, come FQDN ed endpoint, estrai i valori fullyQualifiedName e zonalEndpoints dall'output:

    kubectl get buckets -n PROJECT_NAME BUCKET_NAME -o yaml
    
  3. Crea un BackupRepository all'interno del server API di gestione:

    apiVersion: backup.gdc.goog/v1
    kind: BackupRepository
    metadata:
      name: REPOSITORY_NAME
    spec:
      secretReference:
        namespace: PROJECT_NAME
        name: SECRET_NAME
      endpoint: ENDPOINT
      type: "S3"
      s3Options:
        bucket: BUCKET_FQDN
        region: REGION
        forcePathStyle: FORCE_PATH_STYLE
      importPolicy: IMPORT_POLICY
    

    Sostituisci quanto segue:

    • REPOSITORY_NAME: il nome del repository di backup.
    • PROJECT_NAME: il nome del progetto.
    • SA_NAME: il nome del account di servizio utilizzato per accedere all'archiviazione di oggetti.
    • SECRET_NAME: il nome del secret restituito dal comando kubectl get secrets.
    • ENDPOINT: il nome di dominio completo del sistema di archiviazione, ad esempio https://objectstorage.google.gdch.test. Per il campo type, è supportato solo il valore S3.
    • BUCKET_FQDN: il nome completo del bucket.
    • REGION: la regione in cui è stato creato il bucket.
    • FORCE_PATH_STYLE: utilizza il campo forcePathStyle per forzare gli URL in stile percorso per gli oggetti. Questo campo deve avere un valore pari a true o false.
    • IMPORT_POLICY: imposta uno dei seguenti valori:
      • ReadWrite: questo repository può essere utilizzato per pianificare o creare backup, piani di backup e ripristini.
      • ReadOnly: questo repository può essere utilizzato solo per importare e visualizzare i backup. Non è possibile creare nuovi backup o risorse in questo repository, ma i ripristini possono utilizzare e fare riferimento ai backup di sola lettura per il ripristino. Non esiste alcuna limitazione alla frequenza con cui un repository di backup può essere utilizzato come ReadOnly.

    BackupRepository crea una risorsa BackupRepository abilitata alla lettura/scrittura nel server dell'API Management con lo stesso nome.

Passaggi successivi