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


Use famílias de imagens para simplificar o controle de versão de imagens. Adicione uma imagem a uma família de imagens para defini-la como a versão de imagem mais recente. Se você determinar que deve reverter a família de imagens para uma versão de imagem anterior, desfaça a imagem mais recente da família.

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

Opcionalmente, você pode 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 .
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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. 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

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.

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

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

    Vá para Criar uma imagem

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

  3. Especifique a fonte da qual você deseja criar uma imagem. Pode ser um disco permanente, um snapshot, outra imagem ou um arquivo disk.raw no Cloud Storage.

  4. Se você estiver criando uma imagem de um disco anexado a uma VM em execução, marque Manter a instância em execução para confirmar que deseja criar a imagem enquanto a VM estiver em execução. Você pode preparar sua VM antes de criar a imagem.

  5. Na lista suspensa Com base no local 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 fizer uma seleção, o Compute Engine armazenará a imagem na multirregião mais próxima do local de origem da imagem.

  6. Especifique a família da imagem 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 para sua imagem personalizada.
    • Rótulo : um rótulo para agrupar recursos.
  8. Especifique a chave de criptografia. Você pode escolher entre um Google-owned and Google-managed encryption key, uma chave do Cloud Key Management Service (Cloud KMS) ou uma chave de criptografia fornecida pelo cliente (CSEK) . Se nenhuma chave de criptografia for especificada, as imagens serão criptografadas usando um 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

DESCANSAR

Faça uma solicitação POST para o 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 de imagens.

gcloud

Você pode ver para qual imagem 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

DESCANSAR

Faça uma solicitação GET para o 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 deve reverter a família de imagens para que ela não aponte mais para image-v2 , desconsidere image-v2 e 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