A flexibilidade de instâncias em grupos gerenciados de instâncias (MIGs) permite especificar vários tipos de máquinas para as instâncias de máquinas virtuais (VM) no grupo, em vez de ficar 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 sua lista com base na disponibilidade atual de recursos. Essa flexibilidade ajuda a melhorar a obtenção de recursos, especialmente para aplicações que podem operar em diferentes tipos de máquinas e que exigem capacidade em larga escala ou hardware com alta demanda.
Este documento descreve como funciona a flexibilidade de instância em um MIG e suas limitações. Para saber como configurar um MIG para usar flexibilidade de instância, consulte Adicionar flexibilidade de instância .
Flexibilidade de instância
Um MIG cria todas as suas 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 flexibilidade de instâncias, você pode listar todos os tipos de máquinas compatíveis com sua aplicação.
A imagem a seguir compara um MIG que usa um único tipo de máquina com um MIG que usa flexibilidade de instância. Conforme ilustrado 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áquinas.
Como funciona a flexibilidade de instância
Por padrão, um MIG cria todas as VMs usando um único tipo de máquina do modelo de instância. Você pode definir vários tipos de máquinas em um MIG configurando uma seleção de instância ( instanceSelections
) na política de flexibilidade de instância ( instanceFlexibilityPolicy
).
Se sua carga de trabalho puder operar em vários tipos de máquinas diferentes, você poderá configurar apenas uma lista de todos os tipos de máquinas compatíveis com seu aplicativo em uma única 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ância têm preferência igual. Se desejar que um MIG escolha tipos de máquinas em uma ordem específica, você poderá configurar diversas seleções de instâncias, cada uma com uma lista de tipos de máquinas e uma classificação para definir a preferência. Um valor de classificação mais baixo significa maior preferência. O MIG tenta criar suas VMs usando tipos de máquinas com maior preferência. Se esses tipos de máquinas preferenciais não estiverem disponíveis, o MIG utiliza um tipo de máquina com preferência inferior.
"instanceFlexibilityPolicy": { "instanceSelections": { "most-preferred": { "rank": 1, "machineTypes": ["c3-standard-16","n2-standard-16","c2-standard-16"] }, "least-preferred": { "rank": 2, "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"] } } }
Seu aplicativo precisa estar pronto para ser executado em qualquer um dos tipos de máquinas listados, pois a disponibilidade do hardware muda ao longo do tempo e o hardware específico não é garantido, a menos que você use reservas .
Como um MIG seleciona tipos de máquinas
Ao configurar vários tipos de máquinas, o MIG seleciona um tipo de máquina com base na disponibilidade atual de recursos e prioriza reservas não utilizadas. Se você configurou classificações, o MIG primeiro considera sua ordem de preferência. Dentro de uma seleção de instância classificada, o MIG verifica a disponibilidade de recursos, seguida pelas reservas.
As zonas na região do MIG também podem impactar a seleção do tipo de máquina porque a disponibilidade de recursos varia entre as zonas. Para obter mais informações, consulte a seção a seguir sobre como um MIG seleciona zonas.
Como um MIG seleciona zonas
Você pode configurar a flexibilidade da instância em um MIG regional que tenha um formato de distribuição de destino BALANCED
ou ANY_SINGLE_ZONE
. Com 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 forma:
BALANCED
: O MIG seleciona uma zona com recursos disponíveis que pode equilibrar a distribuição da VM entre zonas da maneira mais uniforme possível. Dentro de uma zona selecionada, o MIG prioriza os tipos de máquinas com base nas classificações, se configuradas, e nas reservas disponíveis.ANY_SINGLE_ZONE
: O MIG seleciona uma zona que possui o maior número de tipos de máquinas com base nas classificações, se configuradas, e onde o MIG pode criar a maioria das VMs a partir de reservas não utilizadas.
Para obter mais informações sobre como funciona um formato de distribuição de destino, consulte Formato de distribuição de destino MIG regional .
Flexibilidade e reservas de instâncias
Você pode usar a flexibilidade de instância 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ância, o MIG seleciona primeiro o tipo de máquina com reserva não utilizada. Se quiser alterar a ordem na qual o MIG seleciona os tipos de máquinas, você pode configurar seleções de múltiplas instâncias e especificar sua preferência usando classificações. O MIG segue primeiro a ordem de preferência e depois considera as reservas dentro de uma seleção de instância.
Para mais informações sobre reservas, consulte Reservas de recursos zonais do Compute Engine .
Flexibilidade de instância e VMs Spot
Se o seu MIG com flexibilidade de instância usar VMs Spot, o MIG selecionará automaticamente um tipo de máquina com a menor taxa de preempção observada para garantir o mínimo de interrupção para sua carga de trabalho. Se quiser substituir esse comportamento, você pode configurar seleções de múltiplas instâncias e especificar sua preferência usando classificações. O MIG primeiro segue a ordem de preferência e depois considera a confiabilidade das VMs spot em uma seleção de instância.
Para obter mais informações sobre VMs spot, consulte VMs spot em um grupo de instâncias gerenciadas .
Flexibilidade de instância e reparos de VM
Por padrão, se uma VM em um MIG falhar, o MIG repara a VM recriando-a usando a mesma configuração, incluindo o tipo de máquina. Se você configurar a flexibilidade da instância e o tipo de máquina original da VM com falha estiver temporariamente indisponível, o MIG selecionará outro tipo de máquina com base na seleção de instância especificada.
Para obter mais informações sobre reparos, consulte Sobre o reparo de VMs para alta disponibilidade .
Limitações
A flexibilidade da instância tem as seguintes limitações:
A flexibilidade de instância não é suportada em MIGs zonais. Você pode usar um MIG regional com uma única zona.
A flexibilidade da instância não oferece suporte aos seguintes recursos MIG:
- MIGs regionais com formas de distribuição alvo definidas como
EVEN
ouANY
- Escalonamento automático
- Atualização automática da configuração da VM e atualizações canary (dois modelos de instância)
- Atualizações sobre reparos
- Suspender ou parar VMs
- Redimensione solicitações que criam VMs GPU de uma só vez
- Crie instâncias com nomes específicos
- MIGs regionais com formas de distribuição alvo definidas como
Ao usar um MIG com Cloud Load Balancing , use tipos de máquinas 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 poderá não funcionar de maneira eficaz ao usar tipos de máquinas com desempenho diferente.
O que vem a seguir?
- Saiba mais sobre os diferentes tipos de máquinas .
- Adicione flexibilidade de instância a um MIG.
- Veja a flexibilidade da instância em um MIG.