Démarrage rapide : Configurer un hôte Azure Kubernetes Service sur Azure Stack HCI et Windows Server et déployer un cluster de charge de travail à l’aide de PowerShell

S’applique à Azure Stack HCI sur Windows

Dans ce guide de démarrage rapide, vous découvrez comment configurer un hôte Azure Kubernetes Service (AKS). Vous allez créer des clusters AKS sur Azure Stack HCI et Windows Server en utilisant PowerShell. Si vous préférez utiliser Windows Admin Center, consultez Configurer avec Windows Admin Center.

Avant de commencer

  • Assurez-vous que toutes les conditions préalables décrites dans la page Configuration requise sont remplies.
  • Utilisez un compte Azure pour inscrire votre hôte AKS pour la facturation. Pour plus d’informations, consultez Conditions requises pour Azure.
  • Vérifiez que vous avez au moins un des niveaux d’accès suivants à l’abonnement Azure que vous utilisez pour AKS sur Azure Stack HCI et Windows Server :
    • Un compte d’utilisateur avec le rôle Propriétaire intégré. Vous pouvez vérifier votre niveau d’accès en accédant à votre abonnement, en cliquant sur Contrôle d’accès (IAM) sur le côté gauche du portail Azure, puis sur « View my access » (Afficher mon accès).
    • Un principal de service avec le rôle intégré Intégration d’Azure Arc pour cluster Kubernetes (minimum), le rôle Contributeur intégré ou le rôle Propriétaire intégré.
    • Votre abonnement doit spécifier un groupe de ressources Azure dans la région Australie Est, USA Est, Asie Sud-Est ou Europe Ouest disponible avant l’inscription sur l’abonnement mentionné ci-dessus.
  • Utilisez au moins un des éléments suivants :
    • Cluster Azure Stack HCI sur Windows Server
    • Cluster de basculement Windows Server 2019/2022 Datacenter

    Remarque

    Nous recommandons d’avoir un cluster Azure Stack HCI sur Windows Server. Si vous ne disposez pas de ces ressources, suivez les instructions de la page d’inscription Azure Stack HCI.

Installer le module PowerShell AksHci

Si vous n’avez pas installé le module PowerShell AksHci, exécutez les commandes suivantes pour installer les modules.

Important

Vous devez fermer toutes les fenêtres PowerShell existantes et ouvrir une nouvelle session d’administration pour installer les modules et les packages PowerShell prérequis.

Install-Module -Name Az.Accounts -Repository PSGallery -RequiredVersion 2.2.4
Install-Module -Name Az.Resources -Repository PSGallery -RequiredVersion 3.2.0
Install-Module -Name AzureAD -Repository PSGallery -RequiredVersion 2.0.2.128
Install-Module -Name AksHci -Repository PSGallery
Import-Module Az.Accounts
Import-Module Az.Resources
Import-Module AzureAD
Import-Module AksHci

Si vous utilisez Remote PowerShell, vous devez utiliser CredSSP.

Important

Vous devez fermer toutes les fenêtres PowerShell existantes pour que les modules chargés soient actualisés. Ne passez pas à l’étape suivante tant que vous n’avez pas fermé toutes les fenêtres PowerShell.

Validez votre installation.

Important

Fermez toutes les fenêtres PowerShell et rouvrez une nouvelle session d’administration pour vérifier si vous disposez de la dernière version du module PowerShell.

Get-Command -Module AksHci

Pour voir la liste complète des commandes AksHci PowerShell, consultez AksHci PowerShell.

Sur tous les nœuds de votre cluster Azure Stack HCI

Exécutez la commande suivante sur tous les nœuds de votre cluster Azure Stack HCI sur Windows Server.

Install-PackageProvider -Name NuGet -Force 
Install-Module -Name PowershellGet -Force -Confirm:$false -SkipPublisherCheck

Important

Vous devez fermer toutes les fenêtres PowerShell existantes pour que les modules chargés soient actualisés. Ne passez pas à l’étape suivante tant que vous n’avez pas fermé toutes les fenêtres PowerShell.

Installez le module PowerShell AKS-HCI en exécutant la commande suivante sur tous les nœuds de votre cluster Azure Stack HCI sur et Windows Server.

Install-Module -Name AksHci -Repository PSGallery

Inscrivez le fournisseur de ressources pour votre abonnement

Avant le processus d’inscription, vous devez activer le fournisseur de ressources approprié dans Azure pour l’inscription d’AKS sur Azure Stack HCI et Windows Server. Pour ce faire, exécutez les commandes PowerShell suivantes.

Pour vous connecter à Azure, exécutez la commande PowerShell Connect-AzAccount :

Connect-AzAccount

Si vous souhaitez basculer vers un autre abonnement, exécutez la commande PowerShell Set-AzContext :

Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"

Exécutez la commande suivante pour inscrire votre abonnement Azure auprès des fournisseurs de ressources Kubernetes avec Azure Arc. Ce processus d’inscription peut prendre jusqu’à 10 minutes, mais il ne doit être effectué qu’une seule fois sur un abonnement spécifique.

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration

Pour valider le processus d’inscription, exécutez la commande PowerShell suivante :

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration

Étape 1 : Préparer votre ou vos machines en vue du déploiement

Effectuez les vérifications sur chaque nœud physique pour voir si toutes les conditions requises sont satisfaites pour installer AKS sur Azure Stack HCI et Windows Server. Ouvrez PowerShell en tant qu’administrateur et exécutez la commande Initialize-AksHciNode suivante. Exécutez la commande suivante sur tous les nœuds de votre cluster Azure Stack HCI sur Windows Server.

Initialize-AksHciNode

Étape 2 : Créer un réseau virtuel

Exécutez les commandes suivantes à l’étape 2 sur n’importe quel nœud de votre cluster Azure Stack HCI sur Windows Server.

Pour obtenir les noms de vos commutateurs disponibles, exécutez la commande suivante. Assurez-vous que le SwitchType de votre commutateur de machine virtuelle est « External ».

Get-VMSwitch

Exemple de sortie :

Name        SwitchType     NetAdapterInterfaceDescription
----        ----------     ------------------------------
extSwitch   External       Mellanox ConnectX-3 Pro Ethernet Adapter

Pour créer un réseau virtuel pour les nœuds de votre déploiement à utiliser, créez une variable d’environnement avec la commande PowerShell New-AksHciNetworkSetting. Vous l’utiliserez ultérieurement pour configurer un déploiement utilisant une adresse IP statique. Si vous souhaitez configurer votre déploiement AKS avec DHCP, consultez New-AksHciNetworkSetting pour voir des exemples. Vous pouvez également passer en revue certains concepts liés au nœud Mise en réseau.

#static IP
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -k8sNodeIpPoolStart "172.16.10.1" -k8sNodeIpPoolEnd "172.16.10.255" -vipPoolStart "172.16.255.0" -vipPoolEnd "172.16.255.254" -ipAddressPrefix "172.16.0.0/16" -gateway "172.16.0.1" -dnsServers "172.16.0.1" -vlanId 9

Remarque

Les valeurs fournies dans cet exemple de commande doivent être personnalisées pour votre environnement.

Étape 3 : Configurer votre déploiement

Exécutez les commandes suivantes à l’étape 3 sur n’importe quel nœud de votre cluster Azure Stack HCI sur Windows Server.

Pour créer les paramètres de configuration de l’hôte AKS, utilisez la commande Set-AksHciConfig. Vous devez spécifier les paramètres imageDir, workingDir et cloudConfigLocation. Si vous souhaitez redéfinir des détails de votre configuration, réexécutez la commande avec de nouveaux paramètres.

Configurez votre déploiement avec la commande suivante.

Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -workingDir c:\ClusterStorage\Volume1\ImageStore -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"

Remarque

Les valeurs fournies dans cet exemple de commande doivent être personnalisées pour votre environnement.

Étape 4 : Se connecter à Azure et configurer les paramètres d’inscription

Exécutez la commande PowerShell Set-AksHciRegistration suivante avec votre abonnement et le nom de votre groupe de ressources pour vous connecter à Azure. Pour continuer, vous devez avoir un abonnement Azure et un groupe de ressources Azure existant dans les régions Australie Est, USA Est, Asie Sud-Est ou Europe Ouest.

Set-AksHciRegistration -subscriptionId "<subscriptionId>" -resourceGroupName "<resourceGroupName>"

Étape 5 : Démarrer un nouveau déploiement

Exécutez la commande suivante à l’étape 5 sur n’importe quel nœud de votre cluster Azure Stack HCI sur Windows Server.

Une fois que vous avez configuré votre déploiement, vous devez le démarrer pour installer les agents/services AKS sur Azure Stack HCI et Windows Server et l’hôte AKS. Pour commencer le déploiement, exécutez la commande suivante.

Conseil

Pour afficher des détails supplémentaires sur l’état durant l’installation, définissez $VerbosePreference = "Continue" avant de continuer.

Install-AksHci

Avertissement

Pendant l’installation de votre hôte Azure Kubernetes Service, un type de ressource Kubernetes - Azure Arc est créé dans le groupe de ressources défini lors de l’inscription. Ne supprimez pas cette ressource, car elle représente votre hôte Azure Kuberenetes Service. Vous pouvez identifier la ressource en vérifiant que son champ de distribution possède la valeur aks_management. La suppression de cette ressource entraînera un déploiement hors stratégie.

Étape 6 : Créer un cluster Kubernetes

Après avoir installé votre hôte AKS, vous êtes prêt à déployer un cluster Kubernetes. Ouvrez PowerShell en tant qu’administrateur et exécutez la commande New-AksHciCluster suivante. L’exemple suivant crée un cluster Kubernetes avec un pool de nœuds Linux nommé linuxnodepool comprenant 1 nœud. Pour plus d’informations sur les pools de nœuds, consultez Utiliser des pools de nœuds dans AKS sur Azure Stack HCI et Windows Server.

New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType Linux

Vérifier vos clusters déployés

Pour obtenir la liste de vos clusters Kubernetes déployés, exécutez la commande PowerShell Get-AksHciCluster suivante.

Get-AksHciCluster

Sortie

ProvisioningState     : provisioned
KubernetesVersion     : v1.20.7
NodePools             : linuxnodepool
WindowsNodeCount      : 0
LinuxNodeCount        : 0
ControlPlaneNodeCount : 1
Name                  : mycluster

Pour obtenir la liste des pools de nœuds dans le cluster, exécutez la commande PowerShell AksHciNodePool suivante.

Get-AksHciNodePool -clusterName mycluster
ClusterName  : mycluster
NodePoolName : linuxnodepool
Version      : v1.20.7
OsType       : Linux
NodeCount    : 1
VmSize       : Standard_K8S3_v1
Phase        : Deployed

Étape 7 : Connecter votre cluster à Kubernetes avec Arc

Connectez votre cluster à Kubernetes avec Arc en exécutant la commande Enable-AksHciArcConnection. L’exemple ci-dessous connecte votre cluster AKS sur Azure Stack HCI et Windows Server à Arc en utilisant les détails de l’abonnement et du groupe de ressources que vous avez transmis dans la commande Set-AksHciRegistration.

Connect-AzAccount
Enable-AksHciArcConnection -name mycluster

Remarque

Si vous rencontrez des problèmes ou des messages d’erreur pendant le processus d’installation, pour plus d’informations, consultez Problèmes et erreurs d’installation connus.

Mettre à l’échelle un cluster Kubernetes

Si vous devez mettre à l’échelle votre cluster, vous pouvez modifier le nombre de nœuds de plan de contrôle à l’aide de la commande Set-AksHciCluster, et le nombre de nœuds Worker Linux ou Windows dans votre pool de nœuds à l’aide de la commande Set-AksHciNodePool.

Pour mettre à l’échelle des nœuds de plan de contrôle, exécutez la commande suivante.

Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3

Pour mettre à l’échelle les nœuds Worker, exécutez la commande suivante.

Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3

Remarque

Dans les versions précédentes d’AKS sur Azure Stack HCI et Windows Server, la commande Set-AksHciCluster était également utilisée pour mettre à l’échelle les nœuds Worker. AKS sur Azure Stack HCI et Windows Server introduit maintenant des pools de nœuds dans les clusters de charge de travail. Cette commande ne peut donc être utilisée pour mettre à l’échelle des nœuds Worker que si votre cluster a été créé avec l’ancien paramètre défini dans New-AksHciCluster. Pour mettre à l’échelle les nœuds Worker dans un pool de nœuds, utilisez la commande Set-AksHciNodePool.

Accéder à vos clusters à l’aide de kubectl

Pour accéder à vos clusters Kubernetes à l’aide de kubectl, exécutez la commande PowerShell Get-AksHciCredential suivante. Cette opération utilise le fichier kubeconfig du cluster spécifié comme fichier kubeconfig par défaut pour kubectl. Vous pouvez également utiliser kubectl pour déployer des applications à l’aide de Helm.

Get-AksHciCredential -name mycluster

Supprimer un cluster Kubernetes

Si vous devez supprimer un cluster Kubernetes, exécutez la commande suivante.

Remove-AksHciCluster -name mycluster

Remarque

Vérifiez que votre cluster est supprimé en examinant les machines virtuelles existantes dans le Gestionnaire Hyper-V. Si elles ne sont pas supprimées, vous pouvez les supprimer manuellement. Ensuite, exécutez la commande Restart-Service wssdagent. Ceci doit être effectué sur chaque nœud du cluster de basculement.

Obtenir des journaux d’activité

Pour obtenir les journaux de l’ensemble de vos pods, exécutez la commande Get-AksHciLogs. Cette commande crée en sortie un dossier compressé nommé akshcilogs.zip dans votre répertoire de travail. Le chemin d’accès complet au dossier akshcilogs.zip sera la sortie après exécution de la commande ci-dessous.

Get-AksHciLogs

Dans ce guide de démarrage rapide, vous avez découvert comment configurer un hôte AKS et comment créer des clusters AKS sur Azure Stack HCI et Windows Server en utilisant PowerShell. Vous avez également appris à utiliser PowerShell pour mettre à l’échelle un cluster Kubernetes et accéder aux clusters avec kubectl.

Étapes suivantes