Ajouter un ordinateur Azure Dedicated Host à un cluster Azure Kubernetes Service (AKS)

Un hôte dédié Azure est un service qui fournit des serveurs physiques capables d’héberger une ou plusieurs machines virtuelles, dédiés à un abonnement Azure. Les hôtes dédiés sont les mêmes serveurs physiques que ceux utilisés dans nos centres de données, fournis en tant que ressource. Vous pouvez provisionner des hôtes dédiés au sein d’une région, d’une zone de disponibilité et d’un domaine d’erreur. Ensuite, vous pouvez placer des machines virtuelles directement dans vos hôtes approvisionnés, dans la configuration qui répond le mieux à vos besoins.

L’utilisation d’hôtes dédiés Azure pour les nœuds avec votre cluster AKS présente les avantages suivants :

  • Isolation matérielle au niveau du serveur physique. Aucune autre machine virtuelle ne sera placée sur vos hôtes. Les hôtes dédiés sont déployés dans les mêmes centres de données et partagent le même réseau et la même infrastructure de stockage sous-jacente que les autres hôtes non isolés.
  • Contrôle des événements de maintenance initiés par la plateforme Azure. Alors que la plupart des événements de maintenance n’ont que peu d’impact sur vos machines virtuelles, il existe des charges de travail sensibles où chaque seconde de pause peut avoir un impact. Avec les hôtes dédiés, vous pouvez vous abonner à une fenêtre de maintenance pour réduire l’impact sur votre service.

Avant de commencer

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, vous pouvez créer un compte gratuit.
  • Avant de commencer, assurez-vous que votre version CLI Azure CLI est 2.39.0 ou version ultérieure. S’il s’agit d’une version antérieure, Installez la version la plus récente.

Limites

Les limitations suivantes s’appliquent lorsque vous intégrez un ordinateur Azure Dedicated Host à Azure Kubernetes Service :

  • Mise en réseau accélérée
  • Un pool d’agents existant ne peut pas être converti de non ADH à ADH ou de ADH à non-ADH.
  • La mise à jour du pool d’agents du groupe hôte A vers le groupe hôte B n’est pas prise en charge.
  • Utilisation d’ADH dans les abonnements.

Planification de la capacité ADH sur AKS

Tous les niveaux tarifaires de l’hôte ne sont pas disponibles dans toutes les régions et zones de disponibilité. Vous pouvez répertorier la disponibilité de l’hôte et les éventuelles restrictions d’offre avant de commencer l’approvisionnement des hôtes dédiés.

az vm list-skus --location eastus --resource-type hostGroups/hosts  -o table

Notes

Tout d’abord, lors de l’utilisation du groupe hôte, le nombre de domaines d’erreur de pool de nœuds est toujours identique au nombre de domaines d’erreur du groupe hôte. Pour utiliser la mise à l’échelle automatique de cluster afin d’utiliser ADH et AKS, assurez-vous que votre nombre de domaines d’erreur de groupe hôte et la capacité sont suffisants. Ensuite, remplacez uniquement la valeur 1 par défaut du nombre de domaines d’erreur par n’importe quel autre nombre si vous savez ce qu’ils font, car une configuration incorrecte pourrait entraîner une configuration impossible à mettre à l’échelle.

Déterminez le nombre d’hôtes dont vous avez besoin en fonction de l’utilisation VM attendue.

Évaluez l’utilisation de l’hôte pour déterminer le nombre de machines virtuelles allouables par taille avant le déploiement.

az vm host get-instance-view --resource-group myDHResourceGroup --host-group MyHostGroup --name MyHost

Ajouter un groupe hôte dédié à un cluster AKS

Un groupe hôte est une ressource qui représente une collection d’hôtes dédiés. Vous créez un groupe hôte dans une région et une zone de disponibilité, et lui ajoutez des hôtes. Lors de la planification de la haute disponibilité, vous pouvez accéder à des options supplémentaires. Vous pouvez utiliser l’une des options suivantes, ou les deux, avec vos hôtes dédiés :

  • Application sur plusieurs zones de disponibilité. Dans ce cas, vous devez disposer d’un groupe hôte dans chacune des zones que vous souhaitez utiliser.
  • Application sur plusieurs domaines d’erreur mappés à des racks physiques.

Dans les deux cas, vous devez fournir le nombre de domaines d’erreur pour votre groupe hôte. Si vous ne souhaitez pas appliquer plusieurs domaines d’erreur dans votre groupe, utilisez un seul domaine d’erreur.

Vous pouvez également choisir d’utiliser des zones de disponibilité et des domaines d’erreur.

Créer un groupe hôte

Créez maintenant un hôte dédié dans le groupe hôte. En plus d’un nom pour l’hôte, vous devez fournir la référence SKU pour l’hôte. La référence SKU de l’hôte capture la série de machines virtuelles prises en charge, ainsi que la génération du matériel pour l’hôte dédié.

Pour en savoir plus sur les références SKU et la tarification des hôtes, consultez la section relative à la tarification des hôtes dédiés Azure.

Utilisez la commande az vm host create pour créer un hôte. Si vous définissez un nombre de domaines d’erreur pour votre groupe hôte, vous êtes invité à spécifier le domaine d’erreur de votre hôte.

Dans cet exemple, nous allons utiliser la commande az vm host group create pour créer un groupe hôte à l’aide de zones de disponibilité et de domaines d’erreur.

az vm host group create \
--name myHostGroup \
--resource-group myDHResourceGroup \
--zone 1 \
--platform-fault-domain-count 1 \
--automatic-placement true

Créer un hôte dédié

Créez maintenant un hôte dédié dans le groupe hôte. En plus d’un nom pour l’hôte, vous devez fournir la référence SKU pour l’hôte. La référence SKU de l’hôte capture la série de machines virtuelles prises en charge, ainsi que la génération du matériel pour l’hôte dédié.

Si vous définissez un nombre de domaines d’erreur pour votre groupe hôte, vous devez spécifier le domaine d’erreur de votre hôte.

az vm host create \
--host-group myHostGroup \
--name myHost \
--sku DSv3-Type1 \
--platform-fault-domain 1 \
--resource-group myDHResourceGroup

Créer une identité attribuée par l’utilisateur

Important

Une identité affectée par l’utilisateur avec le rôle « contributeur » sur le groupe de ressources du groupe hôte est requise.

Tout d’abord, créez une identité managée

az identity create --resource-group <Resource Group> --name <Managed Identity name>

Affecter une identité managée

az role assignment create --assignee <id> --role "Contributor" --scope <Resource id>

Créer un cluster AKS à l’aide du groupe hôte

Créez un cluster AKS et ajoutez le groupe hôte que vous venez de configurer.

az aks create \
    --resource-group MyResourceGroup \
    --name MyManagedCluster \
    --location eastus \
    --nodepool-name agentpool1 \
    --node-count 1 \
    --host-group-id <id> \
    --node-vm-size Standard_D2s_v3 \
    --assign-identity <id> \
    --generate-ssh-keys

Ajouter un pool de nœuds d’hôte dédié à un cluster AKS existant

Ajoutez un groupe hôte à un cluster AKS déjà existant.

az aks nodepool add --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup --node-count 1 --host-group-id <id> --node-vm-size Standard_D2s_v3

Supprimer un pool de nœuds d’hôte dédié d’un cluster AKS

az aks nodepool delete --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup

Étapes suivantes

Dans cet article, vous avez appris à créer un cluster AKS avec un hôte dédié et à ajouter un ordinateur hôte dédié à un cluster existant. Pour plus d’informations sur les hôtes dédiés, consultez dedicated-hosts.