Utiliser des groupes de placement de proximité pour réduire la latence dans les clusters AKS (Azure Kubernetes Service)
Notes
Lors de l’utilisation de groupes de placement de proximité sur AKS, la colocation s’applique uniquement aux nœuds d’agent. La latence entre les nœuds et entre les pods hébergés correspondants est plus faible. La colocation n’affecte pas l’emplacement du plan de contrôle d’un cluster.
Lorsque vous déployez votre application dans Azure, vous pouvez créer une latence réseau en répartissant des instances de machine virtuelle sur différentes régions ou zones de disponibilité, ce qui peut affecter les performances globales de votre application. Un groupe de placement de proximité est un regroupement logique utilisé pour vérifier que des ressources de calcul Azure se trouvent physiquement proches les unes des autres. Certaines applications telles que des jeux, des simulations d’ingénierie et des échanges à fréquence élevée (HFT) exigent que la latence soit faible et que les tâches puissent s’exécuter rapidement. Dans des types de scénarios de calcul haute performance (HPC) similaires, envisagez d’utiliser des groupes de placement de proximité (PPG) pour les pools de nœuds de votre cluster.
Cet article nécessite la version 2.14 ou ultérieure d’Azure CLI. Exécutez az --version
pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
- Un groupe de placement de proximité peut mapper vers une zone de disponibilité au maximum.
- Un pool de nœuds doit utiliser Virtual Machine Scale Sets pour associer un groupe de placement de proximité.
- Un pool de nœuds peut associer un groupe de placement de proximité uniquement lors de la création du pool de nœuds.
La première ressource que vous déployez avec un groupe de placement de proximité est attachée à un centre de données spécifique. Toute ressource supplémentaire que vous déployez avec le même groupe de placement de proximité sont colocalisées dans le même centre de données. Une fois que toutes les ressources utilisant le groupe de placement de proximité sont arrêtées (libérées) ou supprimées, elles ne sont plus attachées.
- Vous pouvez associer plusieurs pools de nœuds à un seul groupe de placement de proximité.
- Vous ne pouvez associer qu’un pool de nœuds à un seul groupe de placement de proximité.
Notes
Bien que des groupes de placement de proximité nécessitent un pool de nœuds pour n’utiliser qu’une seule zone de disponibilité, le SLA de machine virtuelle Azure de référence de 99,9 % est toujours en vigueur pour des machines virtuelles dans une seule zone.
Les groupes de placement de proximité représentent un concept de pool de nœuds et sont associés à chaque pool de nœuds individuels. L’utilisation d’une ressource de groupe de placement de proximité (PPG) n’a aucun effet sur la disponibilité du plan de contrôle AKS, ce qui peut avoir un impact sur la façon dont vous devez concevoir votre cluster avec des zones. Pour veiller à ce qu’un cluster soit réparti sur plusieurs zones, nous vous recommandons d’utiliser la conception suivante :
- Approvisionnez un cluster avec le premier pool système en utilisant trois zones et aucun groupe de placement de proximité associé pour veiller à ce que les pods système atterrissent dans un pool de nœuds dédié, qui se répartit sur plusieurs zones.
- Ajoutez d’autres pools de nœuds utilisateur avec une zone unique et un groupe de placement de proximité associé à chaque pool. Par exemple, nodepool1 dans la zone 1 avec PPG1, nodepool2 dans la zone 2 avec PPG2 et nodepool3 dans la zone 3 avec PPG3. Cette configuration garantit, qu’au niveau d’un cluster, des nœuds sont répartis entre plusieurs zones et chaque pool de nœuds individuel est colocalisé dans la zone désignée avec une ressource PPG dédiée.
L’accélération réseau améliore considérablement les performances des machines virtuelles sur le réseau. Dans l’idéal, utilisez des groupes de placement de proximité avec des performances réseau accélérées. Par défaut, AKS utilise l’accélération réseau sur des instances de machines virtuelles prises en charge, ce qui inclut la plupart des machines virtuelles Azure dotées de deux processeurs virtuels ou plus.
Créez un groupe de ressources Azure à l’aide de la commande
az group create
.az group create --name myResourceGroup --location centralus
Créez un groupe de placements de proximité en utilisant la commande
az ppg create
. Veillez à noter la valeur d’ID dans la sortie.az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
La commande produit une sortie similaire à l’exemple de sortie suivant, qui inclut la valeur d’ID dont vous avez besoin pour les commandes CLI à venir.
{ "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 }
Créez un cluster AKS en tirant parti de la commande
az aks create
et remplacez la valeur myPPGResourceID par l’ID de ressource de votre groupe de placement de proximité de l’étape précédente.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --ppg myPPGResourceID --generate-ssh-keys
Vous pouvez ajouter un groupe de placement de proximité à un cluster existant en créant un autre pool de nœuds. Vous pouvez ensuite éventuellement effectuer une migration des charges de travail existantes vers le nouveau pool de nœuds et supprimer le pool de nœuds d’origine.
Utilisez le même groupe de placement de proximité que celui que créé précédemment. Vous veillez ainsi à ce que les nœuds d’agent dans les deux pools de nœuds de votre cluster AKS se trouvent physiquement dans le même centre de données.
Créez un pool de nœuds en tirant parti de la commande
az aks nodepool add
et remplacez la valeur myPPGResourceID par l’ID de ressource de votre groupe de placement de proximité.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --node-count 1 \ --ppg myPPGResourceID
Supprimez le groupe de ressources Azure, ainsi que toutes ses ressources, en utilisant la commande
az group delete
.az group delete --name myResourceGroup --yes --no-wait
Découvrez-en plus sur les groupes de placement de proximité.
Commentaires sur Azure Kubernetes Service
Azure Kubernetes Service est un projet open source. Sélectionnez un lien pour fournir des commentaires :