Neste documento, você saberá quais são as práticas recomendadas ao usar famílias de imagens no Compute Engine.
Antes de começar
-
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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
IMAGE_FAMILY_NAME
: o nome da família de imagens que você quer pesquisar. Para uma lista completa de nomes de famílias de imagens, consulte Detalhes do sistema operacional.IMAGE_PROJECT
: o nome do projeto de imagem. Para uma lista completa de nomes de projetos de imagem, consulte Detalhes do sistema operacional.IMAGE_PROJECT
: o nome do projeto de imagem. Para uma lista completa de nomes de projetos de imagem, consulte Detalhes do sistema operacional.IMAGE_FAMILY_NAME
: o nome da família de imagens que você quer pesquisar. Para uma lista completa de nomes de famílias de imagens, consulte Detalhes do sistema operacional.IMAGE_FAMILY_NAME
: o nome da família de imagens que você quer pesquisar. Para uma lista completa de nomes de famílias de imagens, consulte Detalhes do sistema operacional.IMAGE_PROJECT
: o nome do projeto de imagem. Para uma lista completa de nomes de projetos de imagem, consulte Detalhes do sistema operacional.ZONE
: a zona que você quer consultar.IMAGE_PROJECT
: o nome do projeto de imagem. Para uma lista completa de nomes de projetos de imagem, consulte Detalhes do sistema operacional.ZONE
: a zona que você quer consultar.IMAGE_FAMILY_NAME
: o nome da família de imagens que você quer pesquisar. Para uma lista completa de nomes de famílias de imagens, consulte Detalhes do sistema operacional.- Configure um ambiente de teste separado do ambiente de produção.
- No ambiente de teste, conclua as seguintes etapas:
- Crie uma família de imagens personalizada da família de imagens de origem.
- Verifique a estabilidade da nova imagem na família de imagens personalizada em relação às cargas de trabalho.
- Após a verificação, mova essa família de imagens personalizada para um ambiente de produção.
No projeto de teste, crie uma imagem da família de imagens de origem. Essa nova família de imagens de origem também precisa ter a própria família de imagens personalizada para referenciar no ambiente de teste. Para criar a imagem com uma família de imagens personalizada, execute este comando:
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
Substitua:
test-image-name
: nome da imagem de teste.source-project
: projeto ao qual a família de imagens de origem pertence.source-image-family
: nome da família de imagens de origem.test-project
: nome do projeto de teste em que você quer adicionar a família de imagens.test-image-family
: nome da família de imagens de teste.
Usando a família de imagens personalizada
test-image-family
, crie uma VM para testar a carga de trabalho. Para criar a VM, execute o seguinte comando:gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
Substitua:
test-instance-name
: nome da instância de teste.test-image-family
: nome da família de imagens de teste.test-project
: nome do projeto de teste.
Após a validação de que a imagem funciona bem para sua carga de trabalho, copie essa imagem para o ambiente de produção.
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
Substitua:
prod-image-name
: nome da imagem de produção.test-image-family
: nome da família de imagens de teste.test-project
: projeto ao qual a família de imagens de teste pertence.prod-project
: nome do projeto que está no ambiente de produção.prod-image-family
: nome da família de imagens que você quer usar no ambiente de produção.
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.
Família de imagens públicas
O Compute Engine fornece famílias de imagens para ajudar você a garantir que seus sistemas de automação possam fazer referência às imagens mais recentes. Como administrador, é possível agrupar um conjunto de imagens como uma família de imagens. Nesse caso, os usuários das imagens só precisarão tomar nota do nome da família de imagens, em vez do nome de uma determinada imagem. Como os nomes das imagens precisam ser exclusivos, os pipelines de criação de imagens geralmente criam nomes de imagens com informações codificadas neles, como nome, data e versão do aplicativo (por exemplo,
my-application-v3-20210101
). Em relação às ferramentas de automação, é possível fazer referência ao nome da família de imagens em vez de precisar atualizar o nome da imagem em intervalos. O uso de famílias de imagens garante que você sempre acesse a imagem mais recente na família. Por exemplo,my-application
.As imagens públicas são agrupadas em famílias. Uma família de imagens públicas sempre indica a versão mais recente de uma imagem que está disponível em cada zona. Quando novas imagens são lançadas globalmente, a disponibilidade inicial delas nas famílias depende da zona, o que melhora a tolerância a falhas zonais para seus fluxos de trabalho durante as atualizações de imagens do Google.
Durante o lançamento, a versão mais recente de uma imagem em uma família pode ser diferente em zonas diferentes. Por exemplo, a família de imagens
debian-10
no projetodebian-cloud
sempre indica a imagem mais recente do Debian 10, mas a imagem mais recente do Debian 10 nas zonasus-central1-a
esouthamerica-east1-b
podem ser diferentes.Ao criar VMs em famílias de imagens usando a Google Cloud CLI, o Compute Engine usa a imagem mais recente disponível para a zona da VM para a solicitação. Ao criar VMs usando o Console do Google Cloud, o Compute Engine exibe apenas as imagens públicas disponíveis na zona selecionada. Se você quiser criar VMs usando a imagem mais recente disponível globalmente, use o comando
instances create
da CLI gcloud e especifique--image-family-scope=global
.Como visualizar a versão da imagem mais recente disponível
É possível ver a imagem mais recente disponível globalmente em uma família de imagens ou ver a imagem mais recente disponível em uma zona específica.
Globalmente
Para visualizar a imagem mais recente disponível globalmente em uma família de imagens, use um dos seguintes métodos:
gcloud
Use o comando
gcloud compute images describe-from-family
(em inglês).gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
Substitua:
REST
Faça uma solicitação
GET
ao métodoimages.getFromFamily
.GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
Substitua:
Por zona
Para visualizar a imagem mais recente disponível em uma família de imagens de uma zona específica, use um dos seguintes métodos:
gcloud
Use o comando
gcloud compute images describe-from-family
com a sinalização--zone
.gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
Substitua:
REST
Faça uma solicitação
GET
ao métodoimageFamilyViews
.GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
Substitua:
Famílias de imagens personalizadas
É possível criar famílias de imagens personalizadas para suas imagens personalizadas. A família de imagens indica a imagem mais recente usada para criar a família de imagens. Para reverter uma família de imagens para uma versão anterior, suspenda o uso da imagem mais recente dessa família (contanto que a imagem anterior não esteja obsoleta). Para mais informações, consulte Como definir versões em uma família de imagens.
Para criar uma imagem com uma família de imagens ou criar uma família dessas, caso não exista, é preciso adicionar uma sinalização
--family
adicional à etapa de criação da imagem. Por exemplo:gcloud compute images create my-application-v3-20210101 \ --source-disk my-application-disk-1 \ --source-disk-zone us-central1-f \ --family my-application
Depois de executar esse comando, todas as chamadas para executar uma instância com base na imagem
my-application
indicarão a imagem recém-criada:my-application-v3-20210101
.Ao selecionar um nome para a família de imagens, consulte a Convenção de nomenclatura.
Como usar famílias de imagens
Embora as famílias de imagens permitam fazer referência à imagem mais recente, essa imagem talvez gere incompatibilidade com o aplicativo, o que pode causar problemas em um ambiente de produção se não for validado. Se você quiser aproveitar os benefícios das famílias de imagens ao mesmo tempo que reduz os riscos, recomendamos testar a imagem referenciada mais recente da família de imagens antes de usá-la no ambiente de produção.
Em resumo, é possível considerar esta abordagem:
Por exemplo, talvez o processo seja semelhante ao procedimento a seguir.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-