Modos de orquestração para conjuntos de escala de máquina virtual no Azure

Os Conjuntos de Dimensionamento de Máquinas Virtuais fornecem um agrupamento lógico de máquinas virtuais gerenciadas por plataforma. Com conjuntos de escala, você cria um modelo de configuração de máquina virtual, adiciona ou remove automaticamente instâncias adicionais com base na carga de CPU ou memória e atualiza automaticamente para a versão mais recente do sistema operacional. Tradicionalmente, os conjuntos de escala permitem criar máquinas virtuais usando um modelo de configuração de VM fornecido no momento da criação do conjunto de escalas, e o conjunto de dimensionamento só pode gerenciar máquinas virtuais criadas implicitamente com base no modelo de configuração.

Os modos de orquestração de conjuntos de dimensionamento permitem-lhe ter maior controlo sobre a forma como as instâncias das máquinas virtuais são geridas pelo conjunto de dimensionamento.

Importante

O modo de orquestração é definido quando você cria o conjunto de escala e não pode ser alterado ou atualizado posteriormente.

Conjuntos de escala com orquestração uniforme

Otimizado para cargas de trabalho sem estado de grande escala com instâncias idênticas.

Os conjuntos de dimensionamento de máquina virtual com orquestração uniforme usam um perfil ou modelo de máquina virtual para dimensionar até a capacidade desejada. Embora haja alguma capacidade de gerenciar ou personalizar instâncias individuais de máquina virtual, o Uniform usa instâncias de VM idênticas. As instâncias individuais de VM uniforme são expostas por meio dos comandos da API da VM do Conjunto de Escala de Máquina Virtual. As instâncias individuais não são compatíveis com os comandos padrão da API da VM IaaS do Azure, recursos de gerenciamento do Azure, como marcação de recursos do Azure Resource Manager, permissões RBAC, Backup do Azure ou Azure Site Recovery. A orquestração uniforme fornece garantias de alta disponibilidade no domínio de falhas quando configurada com menos de 100 instâncias. A orquestração uniforme está geralmente disponível e suporta uma gama completa de gerenciamento e orquestração de conjuntos de escala, incluindo dimensionamento automático baseado em métricas, proteção de instâncias e atualizações automáticas do sistema operacional.

Conjuntos de escala com orquestração flexível

Obtenha alta disponibilidade em escala com tipos de máquinas virtuais idênticos ou múltiplos.

Com a Orquestração flexível, o Azure proporciona uma experiência unificada em todo o ecossistema de VMs do Azure. A Orquestração flexível oferece garantias de elevada disponibilidade (até 1000 VMs) ao distribuir as VMs através de domínios de falha numa região ou dentro de uma Zona de Disponibilidade. Tal permite-lhe aumentar horizontalmente a aplicação ao mesmo tempo que mantém o isolamento do domínio de falha, que é essencial para executar cargas de trabalho baseadas em quórum ou com estado, incluindo:

  • Cargas de trabalho baseadas em quórum
  • Bases de dados de código aberto
  • Aplicações com estado
  • Serviços que exigem alta disponibilidade e grande escala
  • Serviços que desejam misturar tipos de máquinas virtuais ou VMs spot e sob demanda juntas
  • Aplicações de Conjuntos de Disponibilidade existentes

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

Uma das principais vantagens da orquestração flexível é que ela fornece recursos de orquestração sobre VMs IaaS padrão do Azure, em vez de dimensionar máquinas virtuais filhas definidas. 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 Escala de Máquina Virtual que você usa com orquestração uniforme. Há várias diferenças entre o gerenciamento de instâncias na orquestração flexível versus a orquestração uniforme. Em geral, recomendamos que você use as APIs de VM IaaS padrão do Azure quando possível. Nesta seção, destacamos exemplos de práticas recomendadas para gerenciar instâncias de VM com 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 mais alta escala e configurabilidade para tamanhos de VM que suportam atualizações de preservação de memória ou migração ao vivo, como ao usar as séries B, D, E e F ou quando o conjunto de escala é configurado para distribuiçã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 suportam atualizações de preservação de memória, incluindo as VMs das séries G, H, L, M e N, e as instâncias estão espalhadas por vários domínios de falha. Você pode usar a API de SKUs de recursos de computação para determinar se uma SKU de VM específica suporta atualizações de preservação de memória.

Caraterística Atualizações de preservação de memória suportadas ou dimensionamento definido com propagação máxima (platformFaultDomainCount=1) Atualizações de preservação de memória não suportadas e difusão fixa (platformFaultDomainCount > 1)
A escala máxima da máquina virtual define a contagem de instâncias 1000 200
Misture sistemas operacionais Sim Sim
Misture instâncias spot e sob demanda Sim No
Misture tipos de SKU de uso geral e de especialidade Sim (FDCount = 1) Não
Contagem máxima de domínio de falha Regional – 3 (dependendo da contagem máxima do domínio de falha regional)
Zona – 1
Regional – 3
Zona – 1
Distribuir instâncias entre zonas Sim Sim
Atribuir VM a uma zona específica Sim Sim
Atribuir VM a um domínio de falha específico Sim No
Atualizar Domínios No Não
Grupo de Colocação Única Opcional. Isso será definido como false com base na primeira VM implantada Opcional. Isso será definido como true com base na primeira VM implantada

Dimensionar com máquinas virtuais padrão do Azure

Os Conjuntos de Dimensionamento de Máquina Virtual no modo de Orquestração Flexível gerenciam VMs padrão do Azure. Você tem controle total sobre o ciclo de vida da máquina virtual, bem como interfaces de rede e discos usando as APIs e comandos padrão do Azure. 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 Escala de Máquina Virtual. As instâncias individuais não são compatíveis com os comandos padrão da API de VM do Azure IaaS, recursos de gerenciamento do Azure, como permissões RBAC de marcação de recursos do Azure Resource Manager, Backup do Azure ou Azure Site Recovery.

Atribuir 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 escala de orquestração flexível. Por padrão, quando você adiciona uma VM a um conjunto de escala flexível, o Azure distribui instâncias uniformemente entre domínios de falha. Embora seja recomendável permitir que o Azure atribua o domínio de falha, para cenários avançados ou de solução de problemas, você pode substituir esse comportamento padrão e especificar o domínio de falha onde a instância irá parar.

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

Nomenclatura de instâncias

Ao criar uma VM e adicioná-la a um conjunto de escala flexível, você tem controle total sobre os nomes de instância dentro das regras da convenção de nomenclatura do Azure. Quando as VMs são adicionadas automaticamente ao conjunto de escala 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 Gráfico de Recursos do Azure para consultar todas as VMs em um Conjunto de Dimensionamento de Máquina Virtual. O Azure Resource Graph fornece recursos de consulta eficientes para recursos do Azure em escala entre assinaturas.

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 recursos do Azure e minimiza as chamadas de API para o provedor de recursos. O Azure Resource Graph é um cache eventualmente consistente onde recursos novos ou atualizados podem não ser refletidos por até 60 segundos. Pode:

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

Monitorizar o estado de funcionamento de aplicações

O monitoramento da integridade do aplicativo permite que seu aplicativo forneça ao Azure uma pulsação para determinar se seu aplicativo está íntegro ou não íntegro. O Azure pode substituir automaticamente as instâncias de VM que não estão íntegras. Para instâncias de conjunto de escala flexível, você deve instalar e configurar a extensão de integridade do aplicativo na máquina virtual. Para instâncias de conjunto de escala uniforme, você pode usar a Extensão de Integridade do Aplicativo ou medir a integridade com uma Sonda de Integridade Personalizada do Balanceador de Carga do Azure.

A escala de lista define as alterações da API da VM

Os Conjuntos de Dimensionamento de Máquina Virtual permitem listar as instâncias que pertencem ao conjunto de escala. Com orquestração flexível, o comando list Virtual Machine Scale Sets VM fornece uma lista de IDs de VM de conjuntos de escala. Em seguida, você pode chamar os comandos GET Virtual Machine Scale Sets VM para obter mais detalhes sobre como o conjunto de escala está funcionando com a instância da VM. Para obter os detalhes de muitas VMs no conjunto de escala, use o Azure Resource Graph ou a API e os comandos padrão da Lista de VMs. Use a API e os comandos padrão GET VM API para obter informações sobre uma única instância.

Recuperar dados de diagnóstico de inicialização

Use as APIs e os comandos padrão da VM para recuperar dados e capturas de tela do Diagnóstico de Inicialização da instância. As APIs e comandos de diagnóstico de inicialização de VM do Virtual Machine Scale Sets não são usados com instâncias do modo de orquestração flexível.

Extensões de VMs

Use extensões direcionadas para máquinas virtuais padrão, em vez de extensões direcionadas para instâncias do modo de orquestração uniforme.

Uma comparação entre 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 por seus recursos.

Configuração básica

Caraterística Suportado por orquestração flexível para conjuntos de escala Suportado por orquestração uniforme para conjuntos de escalas Suportado por conjuntos de disponibilidade
Tipo de máquina virtual VM IaaS padrão do Azure (Microsoft.compute/virtualmachines) Dimensionar VMs específicas do conjunto (Microsoft.compute/virtualmachinescalesets/virtualmachines) VM IaaS padrão do Azure (Microsoft.compute/virtualmachines)
Versão mínima da API necessária 2021-03-01 2015-06-01 2015-06-01
Contagem máxima de instâncias (com garantias FD) 1000 100 200
SKUs suportados Todos os SKUs Todos os SKUs Todos os SKUs
Controle total sobre VMs, NICs, discos Sim Controle limitado com a API de VM do Virtual Machine Scale Sets Sim
Permissões RBAC necessárias Compute Virtual Machine Scale Sets Write, Compute VM Write, Rede Compute Virtual Machine Scale Sets Write N/A
Galeria de imagens compartilhada entre locatários Sim Sim Sim
Rede acelerada Sim Sim Sim
Instâncias spot e preços Sim, você pode ter instâncias de prioridade Spot e Regular Sim, as instâncias devem ser todas Spot ou todas Regulares Não, apenas instâncias de prioridade regulares
Misture sistemas operacionais Sim, Linux e Windows podem residir no mesmo conjunto de escalas flexíveis Não, as instâncias são o mesmo sistema operacional Sim, Linux e Windows podem residir no mesmo conjunto de disponibilidade
Tipos de Discos Somente discos gerenciados, todos os tipos de armazenamento Discos gerenciados e não gerenciados Discos gerenciados e não gerenciados. Ultradisk não suportado
Criptografia do lado do servidor de disco com chaves gerenciadas pelo cliente Sim Sim Sim
Acelerador de Escrita Sim Sim Sim
Grupos de Colocação 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, interrompendo todas as instâncias. Leia a documentação dos Grupos de Posicionamento de Proximidade Sim
Anfitriões Dedicados do Azure Sim Sim Sim
Identidade Gerida Identidade atribuída pelo usuário apenas1 Sistema Atribuído ou Atribuído pelo Usuário N/D (pode especificar Identidade Gerenciada em instâncias individuais)
Adicionar/remover VM existente ao grupo No No Não
Service Fabric Não Sim No
Serviço Kubernetes do Azure (AKS) / AKE Não Sim No
Dados do Utilizador Sim Sim UserData pode ser especificado para VMs individuais
Opção para excluir ou reter a NIC e os discos da VM Sim Não (sempre excluir) Sim
Discos Ultra Sim Sim No

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

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

Caraterística Suportado por orquestração flexível para conjuntos de escala Suportado por orquestração uniforme para conjuntos de escalas Suportado por conjuntos de disponibilidade
Listar VMs no conjunto Sim Sim Sim, listar VMs no AvSet
Dimensionamento automático (manual, baseado em métricas, baseado em programação) Sim Sim No
Remover automaticamente NICs e discos ao excluir instâncias de VM Sim Sim No
Política de atualização (conjunto de dimensionamento de máquina virtual) Não, a política de atualização deve ser nula ou [] durante a criação Automático, Rolamento, Manual N/A
Atualizações automáticas do sistema operacional (conjunto de dimensionamento de máquina virtual) Não Sim N/A
No patch de segurança do convidado Sim, leia Auto VM Guest Patching Não Sim
Encerrar notificações (conjunto de dimensionamento de máquina virtual) Sim, leia a documentação de Notificações de encerramento Sim, leia a documentação de Notificações de encerramento N/A
Monitorar a integridade do aplicativo Extensão de integridade do aplicativo Extensão de integridade do aplicativo ou teste do balanceador de carga do Azure Extensão de integridade do aplicativo
Reparo de instância (conjunto de dimensionamento de máquina virtual) Sim, leia a documentação do Instance Repair Sim, leia a documentação do Instance Repair N/A
Proteção de instância Sim Sim No
Escala na política Sim Sim No
VMSS Obter visualização de instância Não Sim N/A
Operações em lote de VM (Iniciar tudo, Parar tudo, excluir subconjunto, etc.) Sim Sim No

Alta disponibilidade

Caraterística Suportado por orquestração flexível para conjuntos de escala Suportado por orquestração uniforme para conjuntos de escalas Suportado por conjuntos de disponibilidade
SLA de disponibilidade 99,95% para instâncias espalhadas entre domínios de falha; 99,99% para instâncias espalhadas por várias zonas 99,95% para FD>1 em Grupo de Colocação Única; 99,99% para instâncias espalhadas por várias zonas 99,95%
Zonas de Disponibilidade Especificar instâncias em 1, 2 ou 3 zonas de disponibilidade Especificar instâncias em 1, 2 ou 3 zonas de disponibilidade Não suportado
Atribuir VM a uma zona de disponibilidade específica Sim No Não
Domínio de falha – Propagação máxima (o Azure espalhará instâncias ao máximo) Sim Sim No
Domínio de Falha – Propagação Fixa 2-3 FDs (dependendo da contagem máxima regional de FD); 1 para implantações zonais 2, 3, 5 FDs; 1, 5 para implantações zonais 2-3 FDs (dependendo da contagem máxima regional de FDs)
Atribuir VM a um domínio de falha específico Sim No Não
Atualizar Domínios Depreciado (manutenção da plataforma realizada FD por FD) 5 domínios de atualização Até 20 domínios de atualização
Realizar Manutenção Acionar a manutenção em cada instância usando a API da VM Sim N/A
Reserva de Capacidade Sim Sim Sim

Rede

Caraterística Suportado por orquestração flexível para conjuntos de escala Suportado por orquestração uniforme para conjuntos de escalas Suportado por conjuntos de disponibilidade
Conectividade de saída padrão Não, deve ter conectividade de saída explícita Sim Sim
SKU padrão do Azure Load Balancer Sim Sim Sim
Gateway de Aplicação Sim Sim Sim
Rede Infiniband Não Sim, apenas grupo de posicionamento único Sim
LB básico Não Sim Sim
Reencaminhamento de Portas de Rede Sim (Regras NAT para instâncias individuais) Sim (NAT Pool) Sim (Regras NAT para instâncias individuais)

Backup e recuperação

Caraterística Suportado por orquestração flexível para conjuntos de escala Suportado por orquestração uniforme para conjuntos de escalas Suportado por conjuntos de disponibilidade
Azure Backup Sim No Sim
Azure Site Recovery Sim (via PowerShell) Não Sim
Alertas do Azure Sim Sim Sim
Informações de VMs Pode ser instalado em VMs individuais Sim Sim

Parâmetros não suportados

Os seguintes parâmetros do Conjunto de Dimensionamento de Máquina Virtual não são suportados atualmente com os Conjuntos de Dimensionamento de Máquina Virtual no modo de orquestração flexível:

  • Grupo de posicionamento único - isso pode ser definido como null e a plataforma selecionará o valor correto
  • Ultra configuração de disco: diskIOPSReadWrite, diskMBpsReadWrite
  • Superprovisionamento do conjunto de dimensionamento de máquinas virtuais
  • Atualizações automáticas do SO baseadas em imagem
  • Integridade do aplicativo via teste de integridade do SLB - use a extensão de integridade do aplicativo em instâncias
  • Política de atualização do Conjunto de Dimensionamento de Máquina Virtual - deve ser nula ou vazia
  • Discos não geridos
  • Balanceador de Carga Básico
  • Reencaminhamento de Portas através do Pool NAT do Balanceador de Carga Padrão - pode configurar regras NAT
  • Identidade Gerenciada atribuída pelo sistema - Use a Identidade Gerenciada atribuída pelo usuário em vez disso

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

Registe-se e comece a utilizar o modo de orquestração flexível para os seus Conjuntos de Dimensionamento de Máquinas Virtuais.

Perguntas mais frequentes

  • Qual é a escala suportada pela orquestração flexível?

    Você pode adicionar até 1000 VMs a uma escala definida no modo de orquestração flexível.

  • Como a disponibilidade com orquestração flexível se compara a conjuntos de disponibilidade ou orquestração uniforme?

    Atributo de disponibilidade Orquestração flexível Orquestração uniforme Conjuntos de Disponibilidade
    Implantar em zonas de disponibilidade Sim Sim No
    Garantias de disponibilidade de domínio de falha dentro de uma região Sim, até 1000 instâncias podem ser distribuídas em até 3 domínios de falha na região. A contagem máxima de domínio de falha varia de acordo com a região Sim, até 100 instâncias Sim, até 200 instâncias
    Grupos de colocação N/A Você pode escolher Grupo de posicionamento único ou Grupos de posicionamento múltiplo N/A
    Domínios de atualização Nenhuma, manutenção ou atualizações de host são feitas domínio de falha por domínio de falha Até 5 domínios de atualização Até 20 domínios de atualização
  • Qual é a contagem máxima absoluta de instâncias com disponibilidade garantida de domínio de falha?

    Caraterística Suportado por orquestração flexível Apoiado por orquestração uniforme (disponibilidade geral) Suportado por AvSets (disponibilidade geral)
    Contagem máxima de instâncias (com garantia de disponibilidade de FD) 1000 3000 200

Próximos passos