Acerca da flexibilidade das instâncias nos MIGs


A flexibilidade das instâncias nos grupos de instâncias geridas (GIGs) permite-lhe especificar vários tipos de máquinas para as instâncias de máquinas virtuais (VMs) no grupo, em vez de estar limitado a um único tipo de máquina. Se um tipo de máquina não estiver disponível, o MIG pode selecionar automaticamente outro tipo compatível da sua lista com base na disponibilidade de recursos atual. Esta flexibilidade ajuda a melhorar a obtenção de recursos, especialmente para aplicações que podem funcionar em diferentes tipos de máquinas e que requerem capacidade em grande escala ou hardware com elevada procura.

Este documento descreve como funciona a flexibilidade das instâncias num MIG e as respetivas limitações. Para saber como configurar um MIG para usar a flexibilidade das instâncias, consulte o artigo Adicione flexibilidade às instâncias.

Flexibilidade da instância

Um MIG cria todas as respetivas VMs com base no modelo de instância que selecionar. O modelo de instância especifica o tipo de máquina a usar para cada VM. Com a flexibilidade das instâncias, pode listar todos os tipos de máquinas compatíveis com a sua aplicação.

A imagem seguinte compara um MIG que usa um único tipo de máquina com um MIG que usa a flexibilidade das instâncias. Conforme ilustrado na imagem, um GIG com um único tipo de máquina cria VMs idênticas com base num modelo de instância, enquanto um GIG com flexibilidade de instâncias pode criar VMs com diferentes tipos e tamanhos de máquinas.

Comparação de um GIG que usa um único tipo de máquina com um GIG que usa a flexibilidade das instâncias

Como funciona a flexibilidade das instâncias

Por predefinição, um GIG cria todas as VMs com um único tipo de máquina a partir do modelo de instância. Pode definir vários tipos de máquinas num GIG configurando uma seleção de instâncias (instanceSelections) na política de flexibilidade de instâncias (instanceFlexibilityPolicy).

Se a sua carga de trabalho puder funcionar num número de tipos de máquinas diferentes, pode configurar apenas uma lista de todos os tipos de máquinas compatíveis com a sua aplicação num único instanceSelection da seguinte forma:

  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "instance-selection-1": {
        "machineTypes": ["c3-standard-8","n2-standard-8","c2-standard-8"]
      }
    }
  }
  

Os tipos de máquinas numa seleção de instâncias têm a mesma preferência. Se quiser que um MIG escolha tipos de máquinas numa ordem específica, pode configurar várias 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 uma preferência mais elevada. O MIG tenta criar as respetivas VMs usando tipos de máquinas com uma preferência mais elevada. Se estes tipos de máquinas preferenciais não estiverem disponíveis, o MIG usa um tipo de máquina com uma 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"]
      }
    }
  }
  

A sua aplicação tem de estar pronta para ser executada em qualquer um dos tipos de máquinas indicados, uma vez que a disponibilidade de hardware muda ao longo do tempo e o hardware específico não é garantido, a menos que use reservas.

Como um MIG seleciona tipos de máquinas

Quando configura vários tipos de máquinas, o MIG seleciona um tipo de máquina com base na disponibilidade de recursos atual e dá prioridade às reservas não usadas. Se tiver configurado classificações, o MIG considera primeiro a ordem das suas preferências. Numa seleção de instâncias classificadas, o MIG verifica a disponibilidade de recursos e, de seguida, as reservas.

As zonas na região do MIG também podem afetar a seleção do tipo de máquina, uma vez que a disponibilidade de recursos varia entre as zonas. Para mais informações, consulte a secção seguinte sobre como um MIG seleciona zonas.

Como um MIG seleciona zonas

Pode configurar a flexibilidade das instâncias num MIG regional que tenha uma forma de distribuição de destino BALANCED ou ANY_SINGLE_ZONE. Com a flexibilidade das instâncias, quando um GIG regional cria uma VM, seleciona uma zona consoante a forma de distribuição alvo selecionada da seguinte forma:

  • BALANCED: O GIG seleciona uma zona com recursos disponíveis que podem equilibrar a distribuição de VMs entre zonas da forma mais uniforme possível. Numa zona selecionada, o MIG dá prioridade aos 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 tem 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 usadas.

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

Flexibilidade e reservas de instâncias

Pode usar a flexibilidade das instâncias com reservas. Um MIG usa reservas com base no campo reservationAffinity que define no modelo de instância.

Quando existem vários tipos de máquinas numa seleção de instâncias, o MIG seleciona primeiro o tipo de máquina com reserva não usada. Se quiser alterar a ordem em que o MIG seleciona os tipos de máquinas, pode configurar várias seleções de instâncias e especificar a sua preferência através de classificações. Em seguida, o MIG segue a ordem de preferência e, depois, considera as reservas numa seleção de instâncias.

Para mais informações sobre reservas, consulte o artigo Escolha um tipo de reserva.

Flexibilidade das instâncias e VMs do Spot

Se o seu GIG com flexibilidade de instâncias usar VMs de Spot, o GIG seleciona automaticamente um tipo de máquina com a taxa de preemptividade observada mais baixa para garantir a menor interrupção possível para a sua carga de trabalho. Se quiser substituir este comportamento, pode configurar várias seleções de instâncias e especificar a sua preferência através de classificações. Em seguida, o MIG segue primeiro a ordem de preferência e, depois, considera a fiabilidade das VMs de capacidade instantânea numa seleção de instâncias.

Para mais informações sobre as VMs de capacidade instantânea, consulte o artigo VMs de capacidade instantânea num grupo de instâncias gerido.

Flexibilidade da instância e reparações de VMs

Por predefinição, se uma VM num GIG falhar, o GIG repara a VM recriando-a com a mesma configuração, incluindo o tipo de máquina. Se configurar a flexibilidade das instâncias e o tipo de máquina original da VM com falhas estiver temporariamente indisponível, o MIG seleciona outro tipo de máquina com base na seleção de instâncias especificada.

Para mais informações sobre reparações, consulte o artigo Acerca da reparação de VMs para alta disponibilidade.

Exemplos de utilização

As secções seguintes descrevem alguns exemplos de utilização da flexibilidade das instâncias em MIGs.

Otimize os custos

Um MIG pode aprovisionar automaticamente as instâncias mais rentáveis para a sua infraestrutura quando configura as definições de flexibilidade das instâncias do MIG da seguinte forma:

  • Tipos de máquinas: selecione os tipos de máquinas que oferecem a relação custo/desempenho preferida para a sua carga de trabalho. Não precisa de especificar todos os tamanhos disponíveis de cada tipo de máquina. Especifique apenas os tamanhos mais rentáveis para as suas necessidades.

  • Classificação: atribua classificações às seleções de instâncias de acordo com as suas preferências de custo, sendo o tipo de máquina de custo mais baixo o mais preferido. Isto ajuda a garantir que obtém o tipo de máquina de custo mais baixo com base na disponibilidade.

  • Localização: quando criar o MIG, selecione todas as zonas e a forma de distribuição do alvo BALANCED. Isto aumenta as hipóteses de obter os tipos de máquinas de custo mais baixo nas zonas onde estão disponíveis.

Com base nas definições de flexibilidade da instância, o GIG aprovisiona automaticamente a melhor combinação possível de tipos de máquinas disponíveis para cumprir os seus critérios de custo e a capacidade total pedida. Isto garante o custo mais baixo possível num determinado momento.

Melhore a obtenção

Pode configurar a flexibilidade das instâncias do MIG para melhorar a obtenção. Para tal, selecione o maior número possível de tipos de máquinas compatíveis com a sua aplicação na mesma classificação. Pode aumentar ainda mais a probabilidade de obter os recursos escolhendo todas as zonas quando criar o seu GIG e usar o BALANCED formato de distribuição de destino, que dá prioridade às zonas onde os recursos estão disponíveis. Com base nos tipos de máquinas selecionados e na BALANCEDforma, o MIG encontra capacidade onde está mais disponível.

Para maximizar as hipóteses de adquirir VMs de Spot e reduzir as hipóteses de remoção preventiva, a Google recomenda que inclua uma vasta gama de tipos de máquinas na mesma classificação. Isto alarga a pesquisa do MIG à capacidade disponível, o que leva aos melhores resultados possíveis com o modelo de aprovisionamento de espaços.

Maximize o desempenho

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

Limitações

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

O que se segue?