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. Ao configurar o monitoramento de aplicativos, você deve instalar e configurar a Extensão de Integridade do Aplicativo se estiver usando a Orquestração Flexível. Para instâncias de conjunto de escala uniforme, você pode usar a extensão de integridade do aplicativo ou as sondas de integridade.
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 | Sim | 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) | Automático, Rolamento, Manual | 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