A flexibilidade de instâncias em grupos de instâncias gerenciadas (MIGs) permite especificar vários tipos de máquina para as instâncias de máquina virtual (VM) no grupo, em vez de ser limitado a um único tipo de máquina. Se um tipo de máquina não estiver disponível, o MIG poderá selecionar automaticamente outro tipo compatível da lista com base na disponibilidade atual de recursos. Essa flexibilidade ajuda a melhorar a disponibilidade de recursos, principalmente para aplicativos que podem operar em diferentes tipos de máquinas e que exigem capacidade em grande escala ou hardware com alta demanda.
Este documento descreve como a flexibilidade de instâncias funciona em um MIG e as limitações dele. Para saber como configurar um MIG para usar a flexibilidade de instância, consulte Adicionar flexibilidade de instância.
Flexibilidade da instância
Um MIG cria todas as VMs com base no modelo de instância selecionado. O modelo de instância especifica o tipo de máquina a ser usado para cada VM. Com a flexibilidade de instância, é possível listar todos os tipos de máquina compatíveis com seu aplicativo.
A imagem a seguir compara um MIG que usa um único tipo de máquina com um MIG que usa a flexibilidade de instâncias. Como mostrado na imagem, um MIG com um único tipo de máquina cria VMs idênticas com base em um modelo de instância, enquanto um MIG com flexibilidade de instância pode criar VMs com diferentes tipos e tamanhos de máquina.
Como a flexibilidade de instâncias funciona
Por padrão, um MIG cria todas as VMs usando um único tipo de máquina do modelo
de instância. É possível definir vários tipos de máquina em um MIG configurando uma seleção de
instância (instanceSelections
) na política de flexibilidade de instância
(instanceFlexibilityPolicy
).
Se a carga de trabalho puder operar em vários tipos de máquina diferentes, será possível
configurar apenas uma lista de todos os tipos de máquina compatíveis com seu aplicativo em
um único instanceSelection
da seguinte maneira:
"instanceFlexibilityPolicy": { "instanceSelections": { "instance-selection-1": { "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"] } } }
Os tipos de máquina em uma seleção de instâncias têm preferências iguais. Se você quiser que um MIG escolha tipos de máquina em uma ordem específica, configure várias seleções de instância, cada uma com uma lista de tipos de máquina e uma classificação para definir a preferência. Um valor de classificação mais baixo significa maior preferência. O MIG tenta criar as VMs usando tipos de máquina com uma preferência maior. Se esses tipos de máquina preferidos não estiverem disponíveis, o MIG vai usar um tipo de máquina com uma preferência menor.
"instanceFlexibilityPolicy": { "instanceSelections": { "instance-selection-1": { "rank": 1, "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"] }, "instance-selection-2": { "rank": 2, "machineTypes": ["c3-standard-16","n2-standard-16","c2-standard-16"] } } }
O aplicativo precisa estar pronto para ser executado em qualquer um dos tipos de máquina listados, já que a disponibilidade de hardware muda ao longo do tempo, e o hardware específico não é garantido, a menos que você use reservations.
Como um MIG seleciona tipos de máquinas
Quando você configura vários tipos de máquina, o MIG seleciona um tipo de máquina com base na disponibilidade atual de recursos e prioriza as reservas não utilizadas. Se você tiver configurado classificações, o MIG vai considerar primeiro a ordem de preferência. Em uma seleção de instâncias classificadas, o MIG verifica a disponibilidade de recursos, seguida de reservas.
As zonas na região do MIG também podem afetar a seleção do tipo de máquina, porque a disponibilidade de recursos varia entre as zonas. Para mais informações, consulte a próxima seção sobre como um MIG seleciona zonas.
Como um MIG seleciona zonas
É possível configurar a flexibilidade de instâncias em um MIG regional que tenha uma
forma de distribuição de destino BALANCED
ou ANY_SINGLE_ZONE
. Com a flexibilidade de instância, quando um MIG regional cria uma VM, ele seleciona uma zona dependendo do formato de distribuição de destino selecionado da seguinte maneira:
BALANCED
: o MIG seleciona uma zona com recursos disponíveis que pode equilibrar a distribuição de VM entre as zonas da maneira mais uniforme possível. Em uma zona selecionada, o MIG prioriza os tipos de máquina com base nas classificações, se configuradas, e nas reservas disponíveis.ANY_SINGLE_ZONE
: o MIG seleciona uma zona com a maioria dos tipos de máquina com base nas classificações, se configuradas, e em que o MIG pode criar a maioria das VMs fora das reservas não utilizadas.
Para mais informações sobre como um formato de distribuição de destino funciona, consulte Forma regional de distribuição de MIG.
Reservas e flexibilidade da instância
Você pode usar a flexibilidade de instâncias com reservas. Um MIG usa reservas
com base no campo reservationAffinity
definido no modelo de instância.
Quando há vários tipos de máquina em uma seleção de instâncias, o MIG seleciona o tipo de máquina com a reserva não utilizada primeiro. Se você quiser mudar a ordem em que o MIG seleciona os tipos de máquina, configure várias seleções de instâncias e especifique sua preferência usando classificações. O MIG segue primeiro a ordem de preferência e depois considera as reservas em uma seleção de instâncias.
Saiba mais sobre reservas em Reservas para recursos zonais do Compute Engine.
Flexibilidade de instâncias e VMs spot
Se o MIG com flexibilidade de instâncias usar VMs do Spot, ele selecionará automaticamente um tipo de máquina com a menor taxa de preempção observada para garantir a menor interrupção da carga de trabalho. Se você quiser substituir esse comportamento, configure várias seleções de instâncias e especifique sua preferência usando classificações. O MIG segue a ordem de preferência e considera a confiabilidade das VMs spot em uma seleção de instâncias.
Para mais informações sobre VMs spot, consulte VMs spot em um grupo de instâncias gerenciadas.
Flexibilidade da instância e reparos de VM
Por padrão, se uma VM em um MIG falhar, ele vai reparar a VM recriando-a usando a mesma configuração, incluindo o tipo de máquina. Se você configurar a flexibilidade de instância e o tipo de máquina original da VM com falha estiver temporariamente indisponível, o MIG vai selecionar outro tipo de máquina com base na seleção de instância especificada.
Para mais informações sobre reparos, consulte Como reparar VMs para alta disponibilidade.
Limitações
A flexibilidade de instâncias tem as seguintes limitações:
Os MIGs zonais não têm suporte para flexibilidade de instância. É possível usar um MIG regional com uma única zona.
A flexibilidade de instâncias não é compatível com os seguintes recursos de MIG:
- MIGs regionais com formas de distribuição de destino definidas como
EVEN
ouANY
- Escalonamento automático
- Atualização automática da configuração da VM e atualizações canário (dois modelos de instância)
- Atualizações sobre reparos
- Como suspender ou interromper VMs
- Solicitações de redimensionamento
- Criar instâncias com nomes específicos.
- MIGs regionais com formas de distribuição de destino definidas como
Ao usar um MIG com o balanceamento de carga do Cloud, use tipos de máquina com desempenho semelhante, por exemplo, a mesma contagem de vCPU, para evitar a utilização excessiva de hardware menor e a subutilização de máquinas mais rápidas. Caso contrário, o balanceamento de carga pode não funcionar de maneira eficaz ao usar tipos de máquina com desempenho diferente.
A seguir
- Saiba mais sobre diferentes tipos de máquinas.
- Adicione flexibilidade de instância a um MIG.
- Conferir a flexibilidade da instância em um MIG.