Impostare la versione dell'immagine in una famiglia di immagini


Utilizza le famiglie di immagini per semplificare il controllo delle versioni delle immagini. Aggiungi un'immagine a una famiglia di immagini per impostarla come versione più recente. Se ritieni di dover eseguire il rollback della famiglia di immagini a una versione precedente, ritira l'immagine più recente della famiglia.

Per le best practice per l'utilizzo delle famiglie di immagini, consulta Best practice per le famiglie di immagini.

Facoltativamente, puoi specificare la posizione di archiviazione dell'immagine utilizzando la console Google Cloud, il comando gcloud compute images create con il flag --storage-location o il metodo images().insert.

Prima di iniziare

  • Leggi il documento Immagini.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Impostare la versione dell'immagine in una famiglia di immagini

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'immagine.

    Vai a Crea 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 l'istanza in esecuzione 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 memorizzare l'immagine nella località con più regioni us o us-central1 per memorizzarla nella regione us-central1. Se non effettui una selezione, Compute Engine archivia l'immagine nella regione più vicina alla località di origine dell'immagine.

  6. Specifica la Famiglia dell'immagine per la nuova immagine. Ad esempio, aggiungi my-image-family per organizzare l'immagine all'interno di una famiglia di immagini.

  7. (Facoltativo) Specifica altre proprietà dell'immagine:

    • Descrizione: una descrizione dell'immagine personalizzata.
    • Etichetta: un'etichetta per raggruppare le risorse.
  8. Specifica la chiave di crittografia. Puoi scegliere tra una chiave di proprietà di Google e gestita da Google, una chiave Cloud Key Management Service (Cloud KMS) o una chiave di crittografia fornita dal cliente (CSEK). Se non viene specificata alcuna chiave di crittografia, le immagini vengono criptate con una chiave di proprietà di Google e 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 rimanda a image-v1. Aggiungi una seconda immagine al gruppo:

gcloud compute images create image-v2 \
    --source-disk disk-2 \
    --source-disk-zone us-central1-f \
    --family my-image-family

REST

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 fa riferimento a image-v2 perché è l'immagine più recente che hai aggiunto alla famiglia.

gcloud

Puoi vedere a quale immagine fa riferimento 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

REST

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 stabilisci che devi eseguire il rollback della famiglia di immagini in modo che non indichi più image-v2, depreca image-v2 e la famiglia indicherà di nuovo image-v1.

gcloud compute images deprecate image-v2 \
    --state DEPRECATED \
    --replacement image-v1

Verifica che la famiglia di immagini indichi 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