Modos de orquestração para Conjuntos de Dimensionamento de Máquinas Virtuais no Azure

Os conjuntos de dimensionamento de máquinas virtuais fornecem um agrupamento lógico de máquinas virtuais gerenciadas por plataforma. Com eles, é possível criar um modelo de configuração de máquina virtual, adicionar ou remover automaticamente instâncias adicionais com base na carga de CPU ou memória, além de fazer a atualização automática para a versão mais recente do sistema operacional. Tradicionalmente, os conjuntos de dimensionamento permitem criar máquinas virtuais com um modelo de configuração de VM fornecido no momento da criação deles e só podem gerenciar máquinas virtuais criadas implicitamente com base nesse modelo.

Os modos de orquestração do conjunto de dimensionamento fornecem mais controle sobre como as instâncias de máquina virtual são gerenciadas por ele.

Importante

Eles são definidos ao criar o conjunto de dimensionamento e não podem ser alterados ou atualizados em um momento posterior.

Conjuntos de dimensionamento com orquestração uniforme

Otimizados para cargas de trabalho sem estado, em grande escala e com instâncias idênticas.

Os Conjuntos de Dimensionamento de Máquinas Virtuais com orquestração uniforme usam um perfil ou modelo de máquina virtual a fim de aumentar a capacidade atual para a desejada. Embora seja possível gerenciar ou personalizar instâncias de máquinas virtuais individuais, o modo uniforme usa instâncias de VM idênticas. As instâncias uniformes e individuais da VM são expostas por meio dos comandos da API da VM do conjunto de dimensionamento de máquinas virtuais. Instâncias individuais não são compatíveis com os comandos da API de VM IaaS padrão do Azure, recursos de gerenciamento do Azure, como marcação de recursos do Azure Resource Manager, permissões RBAC, Backup do Azure ou o Azure Site Recovery. A orquestração uniforme fornece garantias de alta disponibilidade de domínio de falha quando configurada com menos de 100 instâncias. Ela conta com disponibilidade geral e suporte a uma variedade de gerenciamentos e orquestrações de conjunto de dimensionamento, incluindo o dimensionamento automático baseado em métrica, a proteção de instância e as atualizações automáticas de sistema operacional.

Conjuntos de dimensionamento com orquestração flexível

Obtenha alta disponibilidade em escala com tipos de máquina virtual idênticos ou variados.

Com a orquestração flexível, o Azure fornece uma experiência unificada no ecossistema de VM do Azure. Ela oferece garantias de alta disponibilidade (até 1000 VMs) ao distribuir as VMs entre domínios de falha em uma região ou zona de disponibilidade. Isso permite dimensionar seu aplicativo e manter o isolamento do domínio de falha que é essencial para executar cargas de trabalho baseadas em quorum ou com estado, incluindo:

  • Cargas de trabalho baseadas em quorum
  • Bancos de dados de software livre
  • Aplicativos com estado
  • Serviços que exigem alta disponibilidade e grande escala
  • Serviços que combinam tipos de máquinas virtuais ou VMs spot e sob demanda em conjunto
  • Aplicativos existentes de conjunto de disponibilidade

O que mudou no modo de orquestração flexível?

Uma das principais vantagens da orquestração flexível é o fornecimento de recursos de orquestração em VMs IaaS padrão do Azure, em vez de em máquinas virtuais filhas do conjunto de dimensionamento. Isso significa que você pode usar todas as APIs de VM padrão ao gerenciar instâncias de orquestração Flexível, em vez das APIs de VM do conjunto de dimensionamento de máquinas virtuais que são usadas com a orquestração Uniforme. Há diversas diferenças entre o gerenciamento de instâncias na orquestração flexível e na orquestração uniforme. Em geral, quando possível, recomenda-se o uso das APIs de VM IaaS padrão do Azure. Nesta seção, foram destacados exemplos de práticas recomendadas para o gerenciamento de instâncias de VM com a orquestração flexível.

O modo de orquestração flexível pode ser usado com todos os tamanhos de VM. O modo de orquestração flexível fornece a escala e a configurabilidade mais elevadas para tamanhos de VM que dão suporte a atualizações de preservação de memória ou migração dinâmica, como ao usar as séries B, D, E e F ou quando o conjunto de dimensionamento é configurado para a propagação máxima entre instâncias platformFaultDomainCount=1. Atualmente, o modo de orquestração flexível tem restrições adicionais para tamanhos de VM que não dão suporte a atualizações de preservação de memória, incluindo as VMs das séries G, H, L, M e N, e as instâncias são distribuídas entre vários domínios de falha. Você pode usar a API de SKUs de Recurso de Computação para determinar se uma SKU de VM específica dá suporte a atualizações de preservação de memória.

Recurso Atualizações de preservação de memória com suporte ou conjunto de dimensionamento com Propagação Máxima (platformFaultDomainCount=1) Atualizações de preservação de memória sem suporte e difusão fixa (platformFaultDomainCount > 1)
Contagem máxima de instâncias dos Conjuntos de Dimensionamento de Máquinas Virtuais 1000 200
Sistemas operacionais combinados Sim Sim
Misturar instâncias Spot e Sob demanda Sim Não
Misturar tipos de SKU de Uso Geral e Especialidade Sim (FDCount = 1) Não
Contagem máxima de domínios de falha Regional – 3 (dependendo da contagem máxima do domínio de falha regional)
Zonal – 1
Regional – 3
Zonal – 1
Espalhar instâncias entre zonas Sim Sim
Atribuir uma VM a uma zona específica Sim Sim
Atribuir uma VM a um domínio de falha específico Sim Não
Domínios de atualização Não Não
Grupo de posicionamento único Opcional. Isso será definido como false com base na primeira VM implantada Opcional. Isso será definido como true com base na primeira VM implantada

Escalar horizontalmente com máquinas virtuais padrão do Azure

Os Conjuntos de Dimensionamento de Máquinas Virtuais no modo de orquestração flexível gerenciam VMs padrão do Azure. Com as APIs e os comandos padrão do Azure, você tem controle completo sobre o ciclo de vida da máquina virtual, bem como interfaces de rede e discos. As máquinas virtuais criadas com o modo de orquestração Uniforme são expostas e gerenciadas por meio dos comandos da API da VM do conjunto de dimensionamento de máquinas virtuais. Instâncias individuais não são compatíveis com os comandos da API de VM IaaS padrão do Azure, os recursos de gerenciamento do Azure, como permissões RBAC de marcação de recursos do Azure Resource Manager, o Azure Backup ou o Azure Site Recovery.

Atribuir o domínio de falha durante a criação da VM

Você pode escolher o número de domínios de falha para o conjunto de dimensionamento de orquestração flexível. Por padrão, ao adicionar uma VM a um conjunto de dimensionamento flexível, o Azure distribui uniformemente as instâncias entre os domínios de falha. Embora seja recomendado designar ao Azure a atribuição do domínio de falha, para cenários avançados ou de solução de problemas, é possível substituir esse comportamento padrão e especificar o domínio de falha que receberá a instância.

az vm create –vmss "myVMSS"  –-platform-fault-domain 1

Nomenclatura de instâncias

Ao criar uma VM e adicioná-la a um conjunto de dimensionamento flexível, você tem controle total sobre os nomes de instância nas regras da convenção de nomenclatura do Azure. Quando as VMs são adicionadas automaticamente ao conjunto de dimensionamento por meio do dimensionamento automático, você fornece um prefixo e o Azure acrescenta um número exclusivo ao final do nome.

Instâncias de consulta para o estado de energia

O método preferencial é usar o Azure Resource Graph para consultar todas as VMs em um conjunto de dimensionamento de máquinas virtuais. O Azure Resource Graph fornece às assinaturas funcionalidades de consulta eficientes e em escala para os recursos do Azure.

resources
| where type =~ 'Microsoft.Compute/virtualMachines'
| where properties.virtualMachineScaleSet.id contains "demo"
| extend powerState = properties.extended.instanceView.powerState.code
| project name, resourceGroup, location, powerState
| order by resourceGroup desc, name desc

Consultar recursos com o Azure Resource Graph é uma maneira conveniente e eficiente de consultar os recursos do Azure e minimizar as chamadas de API para o provedor de recursos. O Azure Resource Graph é um cache eventualmente consistente em que recursos novos ou atualizados podem não ser refletidos por até 60 segundos. Você pode:

  • Listar VMs em um grupo de recursos ou assinatura.
  • Usar a opção Expandir a fim de recuperar a exibição da instância (atribuição de domínio de falha, estados de energia e provisionamento) para todas as VMs em sua assinatura.
  • Usar a API de VM Get e os comandos a fim de obter a exibição da instância e do modelo de uma única instância.

Monitorar a integridade do aplicativo

O monitoramento de integridade de aplicativo permite que o Azure receba de seu aplicativo uma pulsação que o ajuda a determinar a integridade dele. As instâncias de VM que não estão íntegras são substituídas automaticamente pelo Azure. Para instâncias do conjunto de dimensionamento flexível, instale e configure a extensão de integridade do aplicativo na máquina virtual. Para instâncias do conjunto de dimensionamento uniforme, você pode usar a extensão de integridade do aplicativo ou medir a integridade com uma investigação de integridade personalizada do Azure Load Balancer.

Listar alterações na API de VM dos conjuntos de dimensionamento

Os Conjuntos de Dimensionamento de Máquinas Virtuais permitem listar as instâncias que pertencem a eles. Com a orquestração flexível, o comando da VM que lista Conjuntos de Dimensionamento de Máquinas Virtuais fornece uma lista de IDs de VM desses conjuntos. Em seguida, chame os comandos GET da VM de Conjuntos de Dimensionamento de Máquinas Virtuais para obter mais detalhes sobre como o conjunto de dimensionamento está funcionando com a instância de VM. Para obter os detalhes de diversas VMs no conjunto de dimensionamento, use o Azure Resource Graph ou os comandos e a API padrão para Listar VMs. Use a API e os comandos GET VM padrão para obter informações sobre uma única instância.

Recuperar dados de diagnóstico de inicialização

Use os comandos e as APIs padrão da VM para recuperar capturas de tela e dados de diagnóstico de inicialização de instância. Os comandos e as APIs de diagnóstico de inicialização da VM dos Conjuntos de Dimensionamento de Máquinas Virtuais não são usados com instâncias no modo de orquestração Flexível.

Extensões de VM

Use extensões destinadas a máquinas virtuais padrão, em vez de a instâncias no modo de orquestração uniforme.

Uma comparação entre os conjuntos flexíveis, uniformes e de disponibilidade

A tabela a seguir compara o modo de orquestração flexível, o modo de orquestração uniforme e os conjuntos de disponibilidade de acordo com seus recursos.

Configuração básica

Recurso Compatível com a orquestração flexível para conjuntos de dimensionamento Compatível com a orquestração uniforme para conjuntos de dimensionamento Compatível com conjuntos de disponibilidade
Tipo de máquina virtual VM de IaaS Standard do Azure (Microsoft.compute/virtualmachines) VMs especificas do conjunto de dimensionamento (Microsoft.compute/virtualmachinescalesets/virtualmachines) VM de IaaS Standard do Azure (Microsoft.compute/virtualmachines)
Versão mínima necessária da API 2021-03-01 2015-06-01 2015-06-01
Contagem máxima de instâncias (com garantias de FD) 1000 100 200
SKUs compatíveis Todos os SKUs Todos os SKUs Todos os SKUs
Controle total sobre VMs, NICs e discos Sim Controle limitado com a API de VM dos Conjuntos de Dimensionamento de Máquinas Virtuais Sim
É necessário ter as permissões de RBAC Gravação de Conjuntos de Dimensionamento de Máquinas Virtuais de Computação, Gravação de VM de Computação, Rede Gravação de Conjuntos de Dimensionamento de Máquinas Virtuais de Computação N/D
Galeria de imagens compartilhadas entre locatários Sim Sim Yes
Redes aceleradas Sim Sim Yes
Instâncias spot e preços Sim, você pode ter instâncias de prioridade regular e spot Sim, as instâncias devem ser todas do tipo Spot ou Regular Não, somente instâncias de prioridade regular
Sistemas operacionais combinados Sim, o Linux e o Windows podem estar no mesmo conjunto de dimensionamento flexível Não, as instâncias devem ter o mesmo sistema operacional Sim, o Linux e o Windows podem estar no mesmo conjunto de disponibilidade
Tipos de disco Somente discos gerenciados; todos os tipos de armazenamento Discos gerenciados e não gerenciados Discos gerenciados e não gerenciados. Não há suporte para Disco Ultra
Criptografia do lado do servidor de disco com chaves gerenciadas pelo cliente Sim Sim Yes
Acelerador de Gravação Sim Sim Yes
Grupos de posicionamento de proximidade Sim, ao usar uma Zona de Disponibilidade ou nenhuma. Não pode ser alterado após a implantação. Leia a Documentação dos grupos de posicionamento de proximidade Sim, ao usar uma Zona de Disponibilidade ou nenhuma. Pode ser alterado após a implantação parar todas as instâncias. Leia a Documentação dos grupos de posicionamento de proximidade Sim
Hosts dedicados do Azure Sim Sim Sim
Identidade Gerenciada Identidade atribuída pelo usuário somente1 Identidade atribuída pelo sistema ou pelo usuário N/A (é possível especificar a identidade gerenciada em instâncias individuais)
Adicionar/remover VM existente do grupo Não No Não
Service Fabric Não Sim Não
Serviço de Kubernetes do Azure (ASK)/AKE Não Sim Não
UserData Sim Sim UserData pode ser especificado para VMs individuais
Opção para excluir ou reter NIC de VM e Discos Sim Não (sempre excluir) Sim
Discos Ultra Sim Sim No

1 Para conjuntos de dimensionamento uniformes, a GET VMSSresposta terá uma referência à identidade, a clientID e a principalID. Para conjuntos de dimensionamento flexíveis, a resposta obterá apenas uma referência da identidade. Você pode fazer uma chamada para Identity a fim de obter a clientID e a PrincipalID.

Dimensionamento automático e orquestração de instâncias

Recurso Compatível com a orquestração flexível para conjuntos de dimensionamento Compatível com a orquestração uniforme para conjuntos de dimensionamento Compatível com conjuntos de disponibilidade
Listar VMs no conjunto Sim Sim Sim, listar VMs no conjunto de disponibilidade
Dimensionamento automático (manual, baseado em métricas, com base em agendamento) Sim Sim Não
Remover automaticamente NICs e discos ao excluir instâncias de VM Sim Sim Não
Política de atualização (conjunto de dimensionamento de máquinas virtuais) Não, a política de atualização deve ser nula ou [] durante a criação Automático, sem interrupção, manual N/D
Atualizações automáticas do sistema operacional (conjunto de dimensionamento de máquinas virtuais) Não Sim N/D
Em patches de segurança de convidado Sim, leia Aplicação de Patch Automática de Convidado de VM Não Sim
Encerrar notificações (conjunto de dimensionamento de máquinas virtuais) Sim, leia a documentação de notificações de encerramento Sim, leia a documentação de notificações de encerramento N/D
Monitorar a integridade do aplicativo Extensão de integridade do aplicativo Investigação do Azure Load Balancer ou da extensão de integridade do aplicativo Extensão de integridade do aplicativo
Reparo de instância (conjunto de dimensionamento de máquinas virtuais) Sim, leia a documentação de reparo da instância Sim, leia a documentação de reparo da instância N/D
Proteção de instância Sim Sim Não
Política de redução horizontal Sim Sim Não
Exibição da obtenção de instância do VMSS Não Sim N/D
Operações em lote de VMs (iniciar tudo, parar tudo, excluir o subconjunto etc.) Sim Sim Não

Alta disponibilidade

Recurso Compatível com a orquestração flexível para conjuntos de dimensionamento Compatível com a orquestração uniforme para conjuntos de dimensionamento Compatível com conjuntos de disponibilidade
Contrato de Nível de Serviço de Disponibilidade 99,95% para instâncias espalhadas por domínios de falha; 99,99% para instâncias espalhadas por diversas zonas 99,95% para FD>1 em um grupo de posicionamento único; 99,99% para as instâncias espalhadas entre várias zonas 99,95%
Zonas de Disponibilidades Especificar as instâncias em uma, duas ou três zonas de disponibilidade Especificar as instâncias em uma, duas ou três zonas de disponibilidade Sem suporte
Atribuir a VM a uma zona de disponibilidade específica Sim Não Não
Domínio de falha – Difusão máxima (o Azure distribuirá ao máximo as instâncias) Sim Sim Não
Domínio de falha – Difusão fixa Dois a três FDs (dependendo da contagem máxima de FDs regionais); um FD para implantações zonais 2, 3, 5 FDs; 1, 5 para implantações zonais Dois a três FDs (dependendo da contagem máxima de FDs regionais)
Atribuir uma VM a um domínio de falha específico Sim Não Não
Domínios de atualização Preterido (manutenção de plataforma realizada um FD por vez) 5 domínios de atualização Até 20 domínios de atualização
Executar manutenção Disparar a manutenção em cada instância usando a API da VM Sim N/D
Reserva de capacidade Sim Sim Yes

Rede

Recurso Compatível com a orquestração flexível para conjuntos de dimensionamento Compatível com a orquestração uniforme para conjuntos de dimensionamento Compatível com conjuntos de disponibilidade
Conectividade de saída padrão Não, precisa ter a conectividade de saída explícita Sim Sim
SKU padrão do Azure Load Balancer Sim Sim Sim
Gateway de Aplicativo Sim Sim Sim
Rede InfiniBand Não Sim, somente para grupos de posicionamento único Sim
LB Básico Não Sim Sim
Encaminhamento de porta de rede Sim (regras de NAT para instâncias individuais) Sim (pool NAT) Sim (regras de NAT para instâncias individuais)

Backup e recuperação

Recurso Compatível com a orquestração flexível para conjuntos de dimensionamento Compatível com a orquestração uniforme para conjuntos de dimensionamento Compatível com conjuntos de disponibilidade
Serviço de Backup do Azure Sim Não Sim
Azure Site Recovery Sim (por meio do PowerShell) Não Sim
Alertas do Azure Sim Sim Sim
VM Insights Pode ser instalado em VMs individuais Sim Yes

Tipos de parâmetro sem suporte

No momento, não há suporte para os seguintes parâmetros nos conjuntos de dimensionamento de máquinas virtuais que estão no modo de orquestração Flexível:

  • Grupo de posicionamento único: pode ser configurado como null; a plataforma selecionará o valor correto
  • Configuração de Disco Ultra: diskIOPSReadWrite, diskMBpsReadWrite
  • Superprovisionamento do conjunto de dimensionamento de máquinas virtuais
  • Atualizações automáticas do sistema operacional baseadas em imagem
  • Integridade do aplicativo por meio da investigação de integridade do SLB – usar a Extensão de Integridade do Aplicativo em instâncias
  • Política de atualização do conjunto de dimensionamento de máquinas virtuais – Precisa ser nula ou vazia
  • Discos não gerenciados
  • Load Balancer Básico
  • Encaminhamento de Porta por meio do Pool de NAT do Standard Load Balancer: você pode configurar as regras do NAT
  • Identidade Gerenciada atribuída pelo sistema: alternativamente, use a Identidade Gerenciada atribuída pelo usuário

Introdução ao modo de orquestração flexível

Registre-se e comece a usar o Modo de orquestração flexível para os Conjuntos de Dimensionamento de Máquinas Virtuais.

Perguntas frequentes

  • Qual é a escala máxima com suporte na orquestração flexível?

    Você pode adicionar até mil VMs a um conjunto de dimensionamento no modo de orquestração flexível.

  • Qual é a diferença de disponibilidade entre a orquestração flexível, os conjuntos de disponibilidade e a orquestração uniforme?

    Atributo de disponibilidade Orquestração flexível Orquestração uniforme Conjuntos de Disponibilidade
    Implantação em zonas de disponibilidade Sim Sim Não
    Garantias de disponibilidade de domínio de falha em uma região Sim, até mil instâncias podem ser distribuídas entre até três domínios de falha na região. A contagem máxima de domínios de falha varia por região Sim, até 100 instâncias Sim, até 200 instâncias
    Grupos de posicionamento N/D Você pode escolher um único grupo de posicionamento ou vários N/D
    Atualizar domínios Nenhuma, a manutenção ou as atualizações de host são feitas individualmente em cada domínio de falha Até cinco domínios de atualização Até 20 domínios de atualização
  • Qual é a contagem de instâncias máxima absoluta com disponibilidade de domínio de falha garantida?

    Recurso Compatível com a orquestração flexível Com suporte da orquestração uniforme (disponibilidade geral) Com suporte dos conjuntos de disponibilidade (disponibilidade geral)
    Contagem máxima de instâncias (com garantia de disponibilidade FD) 1000 3000 200

Próximas etapas