6.5.4. Configurazione di Google Cloud Platform
Si configura un bucket di storage di Google Cloud Platform (GCP) come repository di replica per il Migration Toolkit for Containers (MTC).
Requisiti
-
È necessario che gli strumenti dell'Interfaccia della riga di comando
gcloud
egsutil
siano installati. Consulta la documentazione di Google Cloud per maggiori dettagli. - Il bucket di storage di GCP deve essere accessibile ai cluster di origine e di destinazione.
Se si utilizza il metodo di copia degli snapshot:
- I cluster di origine e di destinazione devono trovarsi nella stessa area geografica.
- I cluster di origine e di destinazione devono avere la stessa classe di storage.
- La classe di storage deve essere compatibile con gli snapshot.
Procedura
Accedere a GCP:
$ gcloud auth login
Impostare la variabile
BUCKET
:$ BUCKET=<bucket> 1
- 1
- Specificare il nome del bucket.
Creare il bucket di storage:
$ gsutil mb gs://$BUCKET/
Impostare la variabile
PROJECT_ID
nel progetto attivo:$ PROJECT_ID=$(gcloud config get-value project)
Creare un account di servizio:
$ gcloud iam service-accounts create velero \ --display-name "Velero service account"
Elencare gli account di servizio:
$ gcloud iam service-accounts list
Impostare la variabile
SERVICE_ACCOUNT_EMAIL
in modo che corrisponda al suo valore diemail
:$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')
Allegare i criteri per dare all'utente
velero
le autorizzazioni necessarie:$ ROLE_PERMISSIONS=( compute.disks.get compute.disks.create compute.disks.createSnapshot compute.snapshots.get compute.snapshots.create compute.snapshots.useReadOnly compute.snapshots.delete compute.zones.get )
Creare il ruolo personalizzato
velero.server
:$ gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"
Aggiungere il binding del criterio IAM al progetto:
$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server
Aggiornare l'account di servizio IAM:
$ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}
Salvare le chiavi dell'account di servizio IAM nel file
credentials-velero
nella directory corrente:$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL
Si utilizza il file
credentials-velero
per aggiungere GCP come repository di replica.