Sobre a flexibilidade de instâncias em MIGs


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.

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

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 preferência maior. 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": {
      "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"]
      }
    }
  }
  

O 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 o hardware específico não é garantido, 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 de máquina com base na disponibilidade de recursos atual 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 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 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.

Flexibilidade e reservas de instâncias

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 primeiro o tipo de máquina com a reserva não utilizada. 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.

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

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.

Casos de uso

As seções a seguir descrevem alguns casos de uso de 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 configurações de flexibilidade de instâncias do MIG da seguinte maneira:

  • Tipos de máquina: selecione os tipos de máquina que oferecem a melhor relação custo-benefício 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 que são 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ê receba 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 de instância, o MIG provisiona automaticamente a melhor combinação possível de tipos de máquina disponíveis para atender aos critérios de custo e à capacidade total solicitada. Isso garante o menor custo possível em um determinado momento.

Melhorar a disponibilidade

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

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

Maximizar a performance

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

Limitações

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

A seguir