Utilizza le famiglie di immagini per semplificare il controllo delle versioni. Aggiungi un'immagine a una famiglia di immagini per impostarla come versione più recente dell'immagine. Se ritieni di dover eseguire il rollback della famiglia di immagini a una versione precedente, depreca l'immagine più recente della famiglia.
Per informazioni sulle best practice relative alle famiglie di immagini, consulta Best practice per le famiglie di immagini.
Facoltativamente, puoi specificare la posizione di archiviazione dell'immagine utilizzando Google Cloud Console, il comando gcloud compute images create
con il flag --storage-location
o il metodo images().insert
.
Prima di iniziare
- Se vuoi utilizzare gli esempi a riga di comando in questa guida:
- Installa o aggiorna l'ultima versione di Google Cloud CLI.
- Imposta una regione e una zona predefinite.
- Se vuoi utilizzare gli esempi di API in questa guida, configura l'accesso API.
- Leggi il documento Immagini.
Impostare la versione dell'immagine in una famiglia di immagini
console
In Google Cloud Console, vai alla pagina Crea un'immagine.
Specifica il nome dell'immagine. Ad esempio,
image-v1
.Specifica l'origine da cui vuoi creare un'immagine. Può essere un disco permanente, uno snapshot, un'altra immagine o un file disk.raw in Cloud Storage.
Se stai creando un'immagine da un disco collegato a una VM in esecuzione, seleziona Mantieni in esecuzione l'istanza per confermare che vuoi creare l'immagine mentre la VM è in esecuzione. Puoi preparare la VM prima di creare l'immagine.
Nell'elenco a discesa In base alla posizione del disco di origine (predefinita), specifica la posizione in cui archiviare l'immagine. Ad esempio, specifica
us
per archiviare l'immagine nell'area geograficaus
ous-central1
per archiviarla nell'area geograficaus-central1
. Se non effettui una selezione, Compute Engine archivia l'immagine nella località a più regioni più vicina alla posizione di origine della tua immagine.Specifica l'immagine Famiglia per la nuova immagine. Ad esempio, aggiungi
my-image-family
per organizzare l'immagine come parte di una famiglia di immagini.Facoltativo: specifica altre proprietà dell'immagine:
- Descrizione: una descrizione della tua immagine personalizzata.
- Etichetta: un'etichetta per raggruppare le risorse.
Specifica la chiave di crittografia. Puoi scegliere tra una chiave gestita da Google, una chiave Cloud Key Management Service (Cloud KMS) o una chiave crittografia fornita dal cliente (CSEK). Se non viene specificata alcuna chiave di crittografia, le immagini vengono criptate utilizzando una chiave gestita da Google.
Fai clic su Crea per creare l'immagine.
gcloud
gcloud compute images create image-v1 \ --source-disk disk-1 \ --source-disk-zone us-central1-f \ --family my-image-family
La famiglia di immagini punta a image-v1
. Aggiungi una seconda immagine alla famiglia:
gcloud compute images create image-v2 \ --source-disk disk-2 \ --source-disk-zone us-central1-f \ --family my-image-family
Server
Invia una richiesta POST
al metodo images().insert
.
Specifica la famiglia di immagini nel corpo della richiesta.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name": "image-v2", "sourceDisk": "/zones/us-central1-f/disks/disk-2", "family":"my-image-family", }
La famiglia di immagini punta a image-v2
perché è l'immagine più recente che hai aggiunto alla famiglia di immagini.
gcloud
Puoi vedere a quale immagine rimanda una famiglia eseguendo il comando gcloud compute images describe-from-family
.
Ad esempio:
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '8904691942610171306'
kind: compute#image
name: image-v2
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v2
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v2
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY
Server
Invia una richiesta GET
al metodo images().getFromFamily
.
Specifica la famiglia di immagini nel corpo della richiesta.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/family { "resourceId":"my-image-family", }
Se ritieni di dover eseguire il rollback della famiglia di immagini in modo che non rimandi più a image-v2
, ritira image-v2
e la famiglia continuerà a reindirizzare a image-v1
.
gcloud compute images deprecate image-v2 \ --state DEPRECATED \ --replacement image-v1
Assicurati che la famiglia di immagini stia puntando a image-v1
.
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '2741732787056801255'
kind: compute#image
name: image-v1
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v1
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v1
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY