Share via


Utilizar grupos de colocação por proximidade para reduzir a latência para clusters de Azure Kubernetes Service (AKS)

Nota

Ao utilizar grupos de colocação por proximidade no AKS, a colocalização aplica-se apenas aos nós do agente. O nó para o nó e o pod alojado correspondente para a latência do pod são melhorados. A colocalização não afeta o posicionamento do plano de controlo de um cluster.

Ao implementar a sua aplicação no Azure, pode criar latência de rede ao distribuir instâncias de máquinas virtuais (VMs) por regiões ou zonas de disponibilidade, o que pode afetar o desempenho geral da sua aplicação. Um grupo de colocação por proximidade é um agrupamento lógico utilizado para garantir que os recursos de computação do Azure estão fisicamente localizados perto uns dos outros. Algumas aplicações, como jogos, simulações de engenharia e negociação de alta frequência (HFT), requerem baixa latência e tarefas que podem ser concluídas rapidamente. Para cenários de computação de alto desempenho (HPC) semelhantes, considere utilizar grupos de colocação por proximidade (PPG) para os conjuntos de nós do cluster.

Antes de começar

Este artigo requer a versão 2.14 ou posterior da CLI do Azure. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Limitações

  • Um grupo de colocação por proximidade pode mapear para apenas uma zona de disponibilidade.
  • Um conjunto de nós tem de utilizar Conjuntos de Dimensionamento de Máquinas Virtuais para associar um grupo de colocação por proximidade.
  • Um conjunto de nós só pode associar um grupo de colocação por proximidade no conjunto de nós.

Conjuntos de nós e grupos de colocação por proximidade

O primeiro recurso que implementar com um grupo de colocação por proximidade anexa-se a um datacenter específico. Todos os recursos adicionais que implementar com o mesmo grupo de colocação por proximidade são colocados no mesmo datacenter. Depois de todos os recursos que utilizam o grupo de colocação por proximidade serem parados (desalocados) ou eliminados, já não é anexado.

  • Pode associar múltiplos conjuntos de nós a um único grupo de colocação por proximidade.
  • Só pode associar um conjunto de nós a um único grupo de colocação por proximidade.

Configurar grupos de colocação por proximidade com zonas de disponibilidade

Nota

Embora os grupos de colocação por proximidade exijam que um conjunto de nós utilize apenas uma zona de disponibilidade, o SLA da VM do Azure de base de 99,9% ainda está em vigor para as VMs numa única zona.

Os grupos de colocação por proximidade são um conceito de conjunto de nós e estão associados a cada conjunto de nós individual. A utilização de um recurso PPG não tem impacto na disponibilidade do plano de controlo do AKS, o que pode afetar a forma como deve estruturar o cluster com zonas. Para garantir que um cluster está distribuído por várias zonas, recomendamos que utilize a seguinte estrutura:

  • Aprovisione um cluster com o primeiro conjunto de sistemas com três zonas e nenhum grupo de colocação por proximidade associado para garantir que os pods do sistema se encontram num conjunto de nós dedicado, que se espalha por várias zonas.
  • Adicione conjuntos de nós de utilizador adicionais com uma zona exclusiva e um grupo de colocação por proximidade associados a cada conjunto. Um exemplo é nodepool1 na zona um e PPG1, nodepool2 na zona dois e PPG2 e nodepool3 na zona 3 com PPG3. Esta configuração garante que, ao nível do cluster, os nós são distribuídos por várias zonas e que cada conjunto de nós individual está colocalizado na zona designada com um recurso PPG dedicado.

Criar um novo cluster do AKS com um grupo de colocação por proximidade

As redes aceleradas melhoram significativamente o desempenho de rede das máquinas virtuais. Idealmente, utilize grupos de colocação por proximidade com redes aceleradas. Por predefinição, o AKS utiliza redes aceleradas em instâncias de máquinas virtuais suportadas, que incluem a maioria das máquinas virtuais do Azure com duas ou mais vCPUs.

  1. Crie um grupo de recursos do Azure com o az group create comando .

    az group create --name myResourceGroup --location centralus
    
  2. Crie um grupo de colocação por proximidade com o az ppg create comando . Certifique-se de que anota o valor do ID na saída.

    az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
    

    O comando produz um resultado semelhante ao seguinte resultado de exemplo, que inclui o valor de ID de que precisa para os próximos comandos da CLI.

    {
      "availabilitySets": null,
      "colocationStatus": null,
      "id": "/subscriptions/yourSubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG",
      "location": "centralus",
      "name": "myPPG",
      "proximityPlacementGroupType": "Standard",
      "resourceGroup": "myResourceGroup",
      "tags": {},
      "type": "Microsoft.Compute/proximityPlacementGroups",
      "virtualMachineScaleSets": null,
      "virtualMachines": null
    }
    
  3. Crie um cluster do AKS com o az aks create comando e substitua o valor myPPGResourceID pelo ID de recurso do grupo de colocação por proximidade do passo anterior.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --ppg myPPGResourceID
    

Adicionar um grupo de colocação por proximidade a um cluster existente

Pode adicionar um grupo de colocação por proximidade a um cluster existente ao criar um novo conjunto de nós. Em seguida, opcionalmente, pode migrar cargas de trabalho existentes para o novo conjunto de nós e eliminar o conjunto de nós original.

Utilize o mesmo grupo de colocação por proximidade que criou anteriormente para garantir que os nós de agente em ambos os conjuntos de nós no cluster do AKS estão fisicamente localizados no mesmo datacenter.

  • Crie um novo conjunto de nós com o az aks nodepool add comando e substitua o valor myPPGResourceID pelo ID de recurso do grupo de colocação por proximidade.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 1 \
        --ppg myPPGResourceID
    

Limpeza

  • Elimine o grupo de recursos do Azure juntamente com os respetivos recursos com o az group delete comando .

    az group delete --name myResourceGroup --yes --no-wait
    

Passos seguintes

Saiba mais sobre os grupos de colocação por proximidade.