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. 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 uniformes do conjunto de dimensionamento, você pode usar a Extensão de Integridade do Aplicativo ou investigações de integridade.
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 | Sim | Não | 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 VMSS
resposta 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) | Automático, sem interrupção, manual | 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