Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala uniforme
Observação
O artigo a seguir é para conjuntos de escala de máquina virtual uniforme. Recomendamos o uso de Conjuntos de Dimensionamento de Máquina Virtual Flexível para novas cargas de trabalho. Saiba mais sobre esse novo modo de orquestração em nossa visão geral dos Conjuntos de Escala de Máquina Virtual Flexível.
Um Conjunto de Dimensionamento de Máquina Virtual permite implantar e gerenciar um conjunto de máquinas virtuais de dimensionamento automático. Você pode dimensionar o número de VMs no conjunto de escala manualmente ou definir regras para dimensionamento automático com base no uso de recursos, como CPU, demanda de memória ou tráfego de rede. Em seguida, um balanceador de carga do Azure distribui o tráfego para as instâncias de VM no conjunto de escala. Neste início rápido, você cria um Conjunto de Dimensionamento de Máquina Virtual e implanta um aplicativo de exemplo com um modelo do Azure Resource Manager (modelo ARM).
Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo usa sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.
Os modelos ARM permitem implantar grupos de recursos relacionados. Em um único modelo, você pode criar o Conjunto de Dimensionamento de Máquina Virtual, instalar aplicativos e configurar regras de dimensionamento automático. Com o uso de variáveis e parâmetros, esse modelo pode ser reutilizado para atualizar conjuntos de escala existentes ou criar conjuntos de escala adicionais. Pode implementar modelos através do portal do Azure, da CLI do Azure ou do Azure PowerShell ou a partir de pipelines de integração contínua/entrega contínua (CI/CD).
Se o seu ambiente cumpre os pré-requisitos e se está familiarizado com a utilização de modelos ARM, selecione o botão Implementar no Azure. O modelo será aberto no portal do Azure.
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Rever o modelo
O modelo utilizado neste início rápido pertence aos Modelos de Início Rápido do Azure.
Esses recursos são definidos no modelo:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/publicIPAddresses
- Microsoft.Network/loadBalancers
- Microsoft.Compute/virtualMachineScaleSets
- Microsoft.Insights/autoscaleSettings
Definir um conjunto de escalas
Para criar uma escala com um modelo, defina os recursos apropriados. As partes principais do tipo de recurso Conjunto de Escala de Máquina Virtual são:
| Propriedade | Descrição da propriedade | Valor de modelo de exemplo |
|---|---|---|
| tipo | Tipo de recurso do Azure para criar | Microsoft.Compute/virtualMachineScaleSets |
| nome | O nome do conjunto de escalas | myScaleSet |
| localização | O local para criar o conjunto de escala | E.U.A. Leste |
| sku.name | O tamanho da VM para cada instância do conjunto de escala | Standard_A1 |
| sku.capacidade | O número de instâncias de VM a serem criadas inicialmente | 2 |
| upgradePolicy.mode | Modo de atualização da instância da VM quando ocorrem alterações | Automático |
| imageReference | A plataforma ou imagem personalizada a ser usada para as instâncias de VM | Canonical Ubuntu Server 16.04-LTS |
| osProfile.computerNamePrefix | O prefixo de nome para cada instância de VM | myvmss |
| osProfile.adminNome de utilizador | O nome de usuário para cada instância de VM | azureuser |
| osProfile.adminPassword | A senha para cada instância de VM | P@ssw0rd! |
Para personalizar um modelo de conjunto de escalas, você pode alterar o tamanho da VM ou a capacidade inicial. Outra opção é usar uma plataforma diferente ou uma imagem personalizada.
Adicionar um aplicativo de exemplo
Para testar seu conjunto de escalas, instale um aplicativo Web básico. Quando você implanta um conjunto de escala, as extensões de VM podem fornecer tarefas de configuração e automação pós-implantação, como a instalação de um aplicativo. Os scripts podem ser baixados do armazenamento do Azure ou do GitHub, ou fornecidos ao portal do Azure em tempo de execução de extensão. Para aplicar uma extensão ao seu conjunto de escalas, adicione a seção extensionProfile ao exemplo de recurso anterior. O perfil de extensão normalmente define as seguintes propriedades:
- Tipo de extensão
- Publicador de extensão
- Versão da extensão
- Localização dos scripts de configuração ou instalação
- Comandos a serem executados nas instâncias da VM
O modelo usa a extensão de script personalizado para instalar o Bottle, uma estrutura da Web Python e um servidor HTTP simples.
Dois scripts são definidos em fileUris - installserver.sh e workserver.py. Esses arquivos são baixados do GitHub, em seguida, commandToExecute é executado bash installserver.sh para instalar e configurar o aplicativo.
Implementar o modelo
Você pode implantar o modelo selecionando o seguinte botão Implantar no Azure . Esse botão abre o portal do Azure, carrega o modelo completo e solicita alguns parâmetros, como um nome de conjunto de escalas, contagem de instâncias e credenciais de administrador.
Você também pode implantar um modelo do Gerenciador de Recursos usando a CLI do Azure:
# Create a resource group
az group create --name myResourceGroup --location EastUS
# Deploy template into resource group
az deployment group create \
--resource-group myResourceGroup \
--template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/application-workloads/python/vmss-bottle-autoscale/azuredeploy.json
Responda aos prompts para fornecer um nome de conjunto de escala, contagem de instâncias e credenciais de administrador para as instâncias de VM. Leva alguns minutos para que o conjunto de escala e os recursos de suporte sejam criados.
Validar a implementação
Para ver sua escala definida em ação, acesse o aplicativo Web de exemplo em um navegador da Web. Obtenha o endereço IP público do balanceador de carga com az network public-ip list da seguinte maneira:
az network public-ip list \
--resource-group myResourceGroup \
--query [*].ipAddress -o tsv
Digite o endereço IP público do balanceador de carga em um navegador da Web no formato http://publicIpAddress:9000/do_work. O balanceador de carga distribui o tráfego para uma de suas instâncias de VM, conforme mostrado no exemplo a seguir:
Limpeza de recursos
Quando já não for necessário, pode utilizar az group delete para remover o grupo de recursos, o conjunto de dimensionamento e todos os recursos relacionados da seguinte forma. O parâmetro --no-wait devolve o controlo à linha de comandos, sem aguardar a conclusão da operação. O --yes parâmetro confirma que você deseja excluir os recursos sem um prompt adicional para fazê-lo.
az group delete --name myResourceGroup --yes --no-wait
Próximos passos
Neste início rápido, você criou um conjunto de escalas do Linux com um modelo ARM e usou a Extensão de Script Personalizada para instalar um servidor Web Python básico nas instâncias da VM. Para saber mais, continue no tutorial sobre como criar e gerenciar Conjuntos de Escala de Máquina Virtual do Azure.