Partilhar via


Tutorial: Criar e usar uma imagem personalizada para Conjuntos de Dimensionamento de Máquina Virtual com a CLI do Azure

Quando cria um conjunto de dimensionamento, tem de especificar uma imagem a ser utilizada quando as instâncias de VM são implementadas. Para reduzir o número de tarefas após as instâncias de VM serem implementadas, pode utilizar uma imagem de VM personalizada. Esta imagem de VM personalizada inclui instalações ou configurações de aplicações obrigatórias. Quaisquer instâncias de VM criadas no conjunto de dimensionamento utilizam a imagem de VM personalizada e estão prontas para apresentar o seu tráfego de aplicações. Neste tutorial, ficará a saber como:

  • Criar uma Galeria de Computação do Azure
  • Criar uma definição de imagem especializada
  • Criar uma versão de imagem
  • Criar um conjunto de escala a partir de uma imagem especializada
  • Partilhar uma galeria de imagens

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

  • Este artigo requer a versão 2.4.0 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.

Descrição geral

Uma Galeria de Computação do Azure simplifica o compartilhamento de imagens personalizadas em toda a sua organização. As imagens personalizadas são como imagens do marketplace, mas são criadas por si. As imagens personalizadas podem ser utilizadas para configurações do programa de arranque do sistema, como o pré-carregamento de aplicações, configurações de aplicação e outras configurações do SO.

A Galeria de Computação do Azure permite que você compartilhe suas imagens de VM personalizadas com outras pessoas. Escolha as imagens que pretende partilhar, em que regiões pretende disponibilizá-las e com quem pretende partilhá-las.

Criar e configurar uma VM de origem

Em primeiro lugar, crie um grupo de recursos com az group create e, em seguida, crie uma VM com az vm create. Essa VM é então usada como a fonte para a imagem. O exemplo seguinte cria uma VM com o nome myVM no grupo de recursos com o nome myResourceGroup:

az group create --name myResourceGroup --location eastus

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image <SKU image> \
  --admin-username azureuser \
  --generate-ssh-keys

Importante

O ID da sua VM é mostrado na saída do comando az vm create . Copie isso em algum lugar seguro para que você possa usá-lo mais tarde neste tutorial.

Uma galeria de imagens é o principal recurso usado para habilitar o compartilhamento de imagens.

Os caracteres permitidos para o nome da Galeria são letras maiúsculas ou minúsculas, dígitos, pontos e pontos. O nome da galeria não pode conter traços. Os nomes das galerias devem ser exclusivos na sua assinatura.

Crie uma galeria de imagens usando az sig create. O exemplo a seguir cria um grupo de recursos chamado gallery chamado myGalleryRG no Leste dos EUA e uma galeria chamada myGallery.

az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery

Criar uma definição de imagem

As definições de imagem criam um agrupamento lógico para imagens. Eles são usados para gerenciar informações sobre as versões de imagem que são criadas dentro deles.

Os nomes de definição de imagem podem ser compostos por letras maiúsculas ou minúsculas, dígitos, pontos, traços e pontos.

Certifique-se de que a definição da imagem é o tipo correto. Se você generalizou a VM (usando Sysprep para Windows ou waagent -deprovision para Linux), crie uma definição de imagem generalizada usando --os-state generalized. Se você quiser usar a VM sem remover contas de usuário existentes, crie uma definição de imagem especializada usando --os-state specializedo .

Para obter mais informações sobre os valores que você pode especificar para uma definição de imagem, consulte Definições de imagem.

Crie uma definição de imagem na galeria usando az sig image-definition create.

Neste exemplo, a definição de imagem é chamada myImageDefinition e é para uma imagem especializada do sistema operacional Linux. Para criar uma definição para imagens usando um sistema operacional Windows, use --os-type Windows.

az sig image-definition create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --publisher myPublisher \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized

Importante

O ID da definição da imagem é mostrado na saída do comando. Copie isso em algum lugar seguro para que você possa usá-lo mais tarde neste tutorial.

Criar a versão da imagem

Crie uma versão de imagem a partir da VM usando az image gallery create-image-version.

Os caracteres permitidos para a versão da imagem são números e pontos. Os números devem estar dentro do intervalo de um inteiro de 32 bits. Formato: MajorVersion.Versão Menor.Adesivo.

Neste exemplo, a versão da nossa imagem é 1.0.0 e vamos criar 1 réplica na região Centro-Sul dos EUA e 1 réplica na região Leste dos EUA 2 . As regiões de replicação devem incluir a região em que a VM de origem está localizada.

Substitua o valor de --managed-image neste exemplo pela ID da sua VM da etapa anterior.

az sig image-version create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --gallery-image-version 1.0.0 \
   --target-regions "southcentralus=1" "eastus=1" \
   --managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"

Nota

Você precisa esperar que a versão da imagem termine completamente de ser construída e replicada antes de poder usar a mesma imagem gerenciada para criar outra versão da imagem.

Você também pode armazenar sua imagem no armazenamento Premium adicionando --storage-account-type premium_lrsou no Armazenamento com Redundância de Zona adicionando --storage-account-type standard_zrs quando criar a versão da imagem.

Criar um conjunto de escalas a partir da imagem

Importante

A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure assumirão como padrão o Modo de Orquestração Flexível se nenhum modo de orquestração for especificado. Para obter mais informações sobre essa alteração e quais ações você deve tomar, vá para Breaking Change for VMSS PowerShell/CLI Customers - Microsoft Community Hub

Crie um conjunto de escalas a partir da imagem especializada usando az vmss createo .

Crie o conjunto de escalas usando az vmss create o parâmetro --specialized para indicar que a imagem é uma imagem especializada.

Use o ID de definição de imagem para --image para criar as instâncias do conjunto de escala a partir da versão mais recente da imagem disponível. Você também pode criar as instâncias do conjunto de escala a partir de uma versão específica fornecendo o ID da versão da imagem para --image.

Crie um conjunto de escalas chamado myScaleSet , a versão mais recente da imagem myImageDefinition que criamos anteriormente.

az group create --name myResourceGroup --location eastus
az vmss create \
   --resource-group myResourceGroup \
   --name myScaleSet \
   --orchestration-mode flexible \
   --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
   --specialized

A criação e configuração de todas as VMs e recursos do conjunto de dimensionamento demora alguns minutos.

Você pode compartilhar imagens entre assinaturas usando o controle de acesso baseado em função do Azure (Azure RBAC). Você pode compartilhar imagens na galeria, definição de imagem ou versão de imagem. Qualquer usuário que tenha permissões de leitura para uma versão de imagem, mesmo entre assinaturas, poderá implantar uma VM usando a versão de imagem.

Recomendamos que você compartilhe com outros usuários no nível da galeria. Para obter o ID do objeto da sua galeria, use az sig show.

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

Use o ID do objeto como um escopo, juntamente com um endereço de e-mail e az role assignment create para dar a um usuário acesso à galeria de imagens compartilhadas. Substitua <email-address> e <gallery iD> com as suas próprias informações.

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

Para obter mais informações sobre como compartilhar recursos usando o RBAC do Azure, consulte Adicionar ou remover atribuições de função do Azure usando a CLI do Azure.

Clean up resources (Limpar recursos)

Para remover o seu conjunto de dimensionamento e recursos adicionais, elimine o grupo de recursos e todos os respetivos recursos com az group delete. O parâmetro --no-wait devolve o controlo à linha de comandos, sem aguardar a conclusão da operação. O parâmetro --yes confirma que pretende eliminar os recursos sem uma linha de comandos adicional para fazê-lo.

az group delete --name myResourceGroup --no-wait --yes

Próximos passos

Neste tutorial, aprendeu a criar e a utilizar uma imagem de VM personalizada nos seus conjuntos de dimensionamento com a CLI do Azure:

  • Criar uma Galeria de Computação do Azure
  • Criar uma definição de imagem especializada
  • Criar uma versão de imagem
  • Criar um conjunto de escala a partir de uma imagem especializada
  • Partilhar uma galeria de imagens

Prossiga para o próximo tutorial para saber como implementar aplicações no seu conjunto de dimensionamento.