Defina a versão da imagem numa família de imagens


Use famílias de imagens para simplificar o controlo de versões de imagens. Adicione uma imagem a uma família de imagens para a definir como a versão de imagem mais recente. Se determinar que tem de reverter a família de imagens para uma versão de imagem anterior, descontinue a imagem mais recente na família.

Para ver as práticas recomendadas quando trabalha com famílias de imagens, consulte o artigo Práticas recomendadas para famílias de imagens.

Opcionalmente, pode especificar a localização de armazenamento da imagem através da Google Cloud consola, do comando gcloud compute images create com a flag --storage-location ou do método images().insert.

Antes de começar

  • Leia o documento Imagens.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Defina a versão da imagem numa família de imagens

Consola

  1. Na Google Cloud consola, aceda à página Criar uma imagem.

    Aceda a Crie uma imagem

  2. Especifique o Nome da imagem. Por exemplo, image-v1.

  3. Especifique a origem a partir da qual quer criar uma imagem. Pode ser um disco persistente, um instantâneo, outra imagem ou um ficheiro disk.raw no Cloud Storage.

  4. Se estiver a criar uma imagem a partir de um disco associado a uma VM em execução, selecione Manter instância em execução para confirmar que quer criar a imagem enquanto a VM está em execução. Pode preparar a VM antes de criar a imagem.

  5. Na lista pendente Com base na localização do disco de origem (predefinição), especifique a localização para armazenar a imagem. Por exemplo, especifique us para armazenar a imagem na região us ou us-central1 para a armazenar na região us-central1. Se não fizer uma seleção, o Compute Engine armazena a imagem na multirregião mais próxima da localização de origem da imagem.

  6. Especifique a família de imagens para a nova imagem. Por exemplo, adicione my-image-family para organizar a imagem como parte de uma família de imagens.

  7. Opcional: especifique outras propriedades da imagem:

    • Descrição: uma descrição da imagem personalizada.
    • Etiqueta: uma etiqueta para agrupar recursos.
  8. Especifique a chave de encriptação. Pode escolher entre uma chave do Google-owned and Google-managed encryption keyCloud Key Management Service (Cloud KMS) ou uma chave de encriptação fornecida pelo cliente (CSEK). Se não for especificada nenhuma chave de encriptação, as imagens são encriptadas com uma Google-owned and Google-managed encryption key.

  9. Clique em Criar para criar a imagem.

gcloud

gcloud compute images create image-v1 \
    --source-disk disk-1 \
    --source-disk-zone us-central1-f \
    --family my-image-family

A família de imagens aponta para image-v1. Adicione uma segunda imagem à família:

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

REST

Faça um pedido POST ao método images().insert. Especifique a família de imagens no corpo do pedido.

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",

}

A imagem principal aponta para image-v2 porque é a imagem mais recente que adicionou à família de imagens.

gcloud

Pode ver a imagem para a qual uma família aponta executando o comando gcloud compute images describe-from-family.

Por exemplo:

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

Faça um pedido GET ao método images().getFromFamily. Especifique a família de imagens no corpo do pedido.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/family

{
  "resourceId":"my-image-family",

}

Se determinar que tem de reverter a família de imagens para que deixe de apontar para image-v2, descontinue image-v2 e a família volta a apontar para image-v1.

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

Verifique se a imagem da família está a apontar para 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