Sobre a flexibilidade de instâncias em MIGs

Com a flexibilidade de instâncias em grupos gerenciados de instâncias (MIGs), é possível especificar vários tipos de máquinas para as instâncias de máquina virtual (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 capacidade de obtenção 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.

Neste documento, descrevemos como a flexibilidade de instâncias funciona em um MIG e as limitações dela. 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.

Comparação de um MIG que usa um único tipo de máquina com um MIG que usa flexibilidade de instância

Como funciona a flexibilidade de instâncias

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, configure apenas uma lista de todos os tipos de máquina compatíveis com o 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ância têm a mesma preferência. Se você quiser que um MIG escolha tipos de máquina em uma ordem específica, configure várias seleções de instâncias, cada uma com uma lista de tipos de máquina e uma classificação para definir a preferência. Um valor menor de classificação 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 usará um tipo de máquina com uma preferência menor.

  "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áquina listados, já que a disponibilidade de hardware muda com o tempo e não é possível garantir um hardware específico, a menos que você use reservas.

Como um MIG seleciona tipos de máquinas

Quando você configura vários tipos de máquina, o MIG seleciona um tipo com base na disponibilidade atual de recursos e prioriza reservas não utilizadas. Se você configurou classificações, o MIG considera primeiro sua ordem de preferência. Em uma seleção de instâncias classificadas, o MIG verifica a disponibilidade de recursos e as reservas.

As zonas na região do MIG também podem afetar a seleção do tipo de máquina, já que a disponibilidade de recursos varia entre as zonas. Para mais informações, consulte a seção a seguir 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 um formato 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 podem equilibrar a distribuição de VMs entre as zonas da maneira mais uniforme possível. Em uma zona selecionada, o MIG prioriza os tipos de máquina com base em classificações, se configurado, e em reservas disponíveis.

  • ANY_SINGLE_ZONE: o MIG seleciona uma zona com o maior número de tipos de máquinas com base nos rankings, se configurados, e onde o MIG pode criar mais VMs com base em reservas não utilizadas.

Para mais informações sobre como funciona um formato de distribuição de destino, consulte Formato de distribuição de destino do MIG regional.

Flexibilidade e reservas de instâncias

É possível 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 primeiro o tipo de máquina com reserva não utilizada. Se 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.

Para mais informações sobre reservas, consulte Escolher um tipo de reserva.

Flexibilidade de instância 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 possível para sua carga de trabalho. Se 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, o MIG vai recriá-la 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.

Casos de uso

As seções a seguir descrevem alguns casos de uso da flexibilidade de instâncias em MIGs.

Otimize os custos

Um MIG pode provisionar automaticamente as instâncias mais econômicas para sua infraestrutura quando você configura as opções de flexibilidade de instância do MIG da seguinte maneira:

  • Tipos de máquina: selecione os tipos de máquina que oferecem a relação custo-performance preferida para sua carga de trabalho. Não é necessário especificar todos os tamanhos disponíveis de cada tipo de máquina. Especifique apenas os tamanhos mais econômicos para suas necessidades.

  • Classificação: atribua classificações às seleções de instâncias de acordo com suas preferências de custo, com o tipo de máquina de menor custo como o mais preferido. Isso ajuda a garantir que você obtenha o tipo de máquina de menor custo com base na disponibilidade.

  • Local: ao criar o MIG, selecione todas as zonas e o formato de distribuição de destino BALANCED. Isso aumenta as chances de conseguir os tipos de máquina de menor custo nas zonas em que eles estão disponíveis.

Com base nas configurações de flexibilidade da instância, o MIG provisiona automaticamente a melhor combinação possível de tipos de máquina disponíveis para atender aos seus critérios de custo e à capacidade total solicitada. Isso garante o menor custo possível em um determinado momento.

Melhorar a capacidade de obtenção

É possível configurar a flexibilidade da instância do MIG para melhorar a capacidade de obtenção. Para isso, selecione o maior número possível de tipos de máquina compatíveis com seu aplicativo na mesma classificação. Para aumentar ainda mais a chance de obter os recursos, escolha todas as zonas ao criar o MIG e use o formato de distribuição de destino BALANCED, que prioriza as zonas onde os recursos estão disponíveis. Com base nos tipos de máquina selecionados e na forma BALANCED, o MIG encontra capacidade onde ela está mais disponível.

Para maximizar as chances de adquirir VMs do Spot e reduzir as chances de remoção, o Google recomenda incluir uma ampla variedade de tipos de máquinas na mesma classificação. Isso amplia a pesquisa do MIG por capacidade disponível, resultando nos melhores resultados possíveis com o modelo de provisionamento spot.

Maximize a performance

É possível configurar a flexibilidade da instância do MIG para maximizar a performance. Para isso, selecione famílias e tamanhos de máquinas que atendam melhor à sua carga de trabalho. Em seguida, classifique os tipos de máquina com base no desempenho, do mais alto ao mais baixo, usando o tamanho mais adequado em cada família. Com base no ranking e nos tipos de máquina, o MIG seleciona as máquinas de melhor desempenho entre todos os recursos disponíveis.

Limitações

A flexibilidade de instâncias tem as seguintes limitações:

A seguir