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 determini che devi eseguire il rollback della famiglia di immagini a una versione precedente, ritira l'immagine più recente della famiglia.

Per le best practice quando lavori con le famiglie di immagini, consulta Best practice per le famiglie di immagini.

Facoltativamente, puoi specificare la posizione di archiviazione dell'immagine utilizzando la consoleGoogle 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 è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

        Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Imposta 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ò trattarsi di 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 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 Basata sulla posizione del disco di origine (impostazione predefinita), specifica la posizione in cui archiviare l'immagine. Ad esempio, specifica us per archiviare l'immagine nella località multiregionale us oppure us-central1 per archiviarla nella regione us-central1. Se non effettui una selezione, Compute Engine archivia l'immagine nella multi-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 Google-owned and Google-managed encryption key, 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 utilizzando un Google-owned and Google-managed encryption key.

  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

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

gcloud

Per vedere a quale immagine fa riferimento una famiglia, esegui 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 determini che devi eseguire il rollback della famiglia di immagini in modo che non punti più a image-v2, ritira image-v2 e la famiglia punterà di nuovo a image-v1.

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

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