Impostare la versione dell'immagine in una famiglia di immagini


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

Impostare la versione dell'immagine in una famiglia di immagini

console

  1. In Google Cloud Console, vai alla pagina Crea un'immagine.

    Vai a Creare un'immagine

  2. Specifica il nome dell'immagine. Ad esempio, image-v1.

  3. 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.

  4. 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.

  5. 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 geografica us o us-central1 per archiviarla nell'area geografica us-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.

  6. 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.

  7. Facoltativo: specifica altre proprietà dell'immagine:

    • Descrizione: una descrizione della tua immagine personalizzata.
    • Etichetta: un'etichetta per raggruppare le risorse.
  8. 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.

  9. 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