Definir a versão da imagem em uma família de imagens


Use as famílias de imagens para simplificar o controle de versões de imagens. Adicione uma imagem a uma família para defini-la como a versão mais recente. Se o rollback para uma versão anterior da imagem for necessário, suspenda o uso da imagem mais recente da família.

Para ver as práticas recomendadas para trabalhar com famílias de imagens, consulte Práticas recomendadas para famílias de imagens.

Outra opção possível é especificar o local de armazenamento da imagem usando o console do Google Cloud, o comando gcloud compute images create com a sinalização --storage-location ou o método images().insert.

Antes de começar

  • Leia o documento Imagens.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-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. Install the Google Cloud CLI, then initialize it by running the following command:

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

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

        gcloud init

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

Definir a versão da imagem em uma família de imagens

Console

  1. No console do Google Cloud, acesse a página Criar uma imagem.

    Acessar "Criar uma imagem"

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

  3. Especifique a Origem de onde você quer criar uma imagem. Pode ser um disco permanente, um snapshot, outra imagem ou um arquivo disk.raw no Cloud Storage.

  4. Se você está criando uma imagem de um disco anexado a uma VM em execução, consulte Manter a instância em execução para confirmar que quer criar a imagem durante a execução da VM. É possível preparar sua VM antes de criar a imagem.

  5. Na lista suspensa Com base na localização do disco de origem (padrão), especifique o local para armazenar a imagem. Por exemplo, especifique us para armazenar a imagem na multirregião us ou us-central1 para armazená-la na região us-central1. Se você não especificar, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem dela.

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

  7. Opcionalmente, especifique outras propriedades da imagem:

    • Descrição: uma descrição para a imagem personalizada.
    • Rótulo: um rótulo para agrupar recursos.
  8. Especifique a chave de criptografia. É possível escolher entre uma chave de propriedade e gerenciada pelo Google, uma chave do Cloud Key Management Service (Cloud KMS) ou uma chave de criptografia fornecida pelo cliente (CSEK, na sigla em inglês). Se nenhuma chave de criptografia for especificada, as imagens serão criptografadas usando uma chave de propriedade e gerenciada pelo Google.

  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 uma solicitação POST ao método images().insert. Especifique a família de imagens no corpo da solicitação.

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 família de imagens aponta para image-v2 porque é a imagem mais recente adicionada à família.

gcloud

Execute o comando gcloud compute images describe-from-family para ver a que imagem uma família aponta.

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 uma solicitação GET ao método images().getFromFamily. Especifique a família de imagens no corpo da solicitação.

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

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

}

Se você determinar que precisa reverter a família de imagens para que ela não aponte mais para image-v2, suspenda o uso de image-v2. Desse modo, a família apontará novamente para image-v1.

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

Verifique se a família de imagens está apontando 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