Tutoriel : Déployer un cluster de charge de travail sur AKS activé par Arc
S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server
Kubernetes fournit une plateforme distribuée destinée aux applications en conteneur.
Dans ce tutoriel, la troisième partie de sept, un cluster Kubernetes est déployé sur AKS sur Azure Local. Vous découvrirez comment effectuer les actions suivantes :
- Déployer un cluster AKS sur Azure Local
- Installer l’interface de ligne de commande Kubernetes (kubectl)
- Configurer kubectl pour vous connecter à votre cluster de charge de travail
Dans les tutoriels ultérieurs, l’application Azure Vote est déployée sur le cluster, mise à l’échelle et mise à jour.
Avant de commencer
Dans les tutoriels précédents, une image conteneur a été créée et chargée dans une instance Azure Container Registry. Si vous n’avez pas effectué ces étapes, commencez par le Tutoriel 1 : Créer des images conteneur.
Ce tutoriel utilise le module PowerShell AksHci.
Procédez comme suit sur tous les nœuds de votre cluster local Azure ou du cluster Windows Server :
Remarque
Si vous utilisez Remote PowerShell, vous devez utiliser CredSSP.
Fermez toutes les fenêtres PowerShell ouvertes, ouvrez une nouvelle session PowerShell en tant qu’administrateur et exécutez la commande suivante sur tous les nœuds de votre cluster Azure Local ou Windows Server :
Install-PackageProvider -Name NuGet -Force Install-Module -Name PowershellGet -Force -Confirm:$false
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 ne fermez pas toutes les fenêtres PowerShell ouvertes.
Installez le module PowerShell AKS-HCI en exécutant la commande suivante sur tous les nœuds de votre cluster Azure Local ou Windows Server :
Install-Module -Name AksHci -Repository PSGallery -Force -AcceptLicense
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 ne fermez pas toutes les fenêtres PowerShell ouvertes.
Vous pouvez utiliser un script d’assistance pour supprimer les anciens modules PowerShell AKS-HCI, afin d’éviter tout problème lié à la version de PowerShell dans votre déploiement AKS.
Valider votre installation
Get-Command -Module AksHci
Pour voir la liste complète des commandes AksHci PowerShell, consultez AksHci PowerShell.
Installer l’hôte Azure Kubernetes Service
Tout d’abord, configurez vos paramètres d’inscription.
Set-AksHciRegistration -subscription mysubscription -resourceGroupName myresourcegroup
Vous devez personnaliser ces valeurs en fonction de votre abonnement Azure et du nom de votre groupe de ressources.
Exécutez ensuite la commande suivante pour vous assurer que toutes les exigences sur chaque nœud physique sont remplies pour installer AKS sur Azure Local :
Initialize-AksHciNode
Ensuite, créez un réseau virtuel. Vous aurez besoin des noms de vos commutateurs externes disponibles :
Get-VMSwitch
Exemple de sortie :
Name SwitchType NetAdapterInterfaceDescription
---- ---------- ------------------------------
extSwitch External Mellanox ConnectX-3 Pro Ethernet Adapter
Exécutez la commande suivante pour créer un réseau virtuel avec une adresse IP statique :
$vnet = New-AksHciNetworkSetting -name myvnet -vSwitchName "extSwitch" -macPoolName myMacPool -k8sNodeIpPoolStart "172.16.10.0" -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
Ensuite, configurez votre déploiement avec la commande suivante.
Set-AksHciConfig -imageDir c:\clusterstorage\volume1\Images -cloudConfigLocation c:\clusterstorage\volume1\Config -vnet $vnet -cloudservicecidr "172.16.10.10/16"
Vous êtes maintenant prêt à installer l’hôte AKS :
Install-AksHCi
Créer un cluster Kubernetes
Créez un cluster Kubernetes avec la commande New-AksHciCluster. L’exemple suivant crée un cluster nommé mycluster
avec un pool de nœuds Linux appelé linuxnodepool
, qui a un nombre de nœuds de 1 :
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1
Pour vérifier que le déploiement a réussi, exécutez la commande suivante.
Get-AksHcicluster -name mycluster
ProvisioningState : provisioned
KubernetesVersion : v1.20.7
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Remarque
Si vous utilisez les nouveaux jeux de paramètres dans New-AksHciCluster
pour déployer un cluster, puis que vous exécutez Get-AksHciCluster
pour obtenir les informations du cluster, les champs WindowsNodeCount
et LinuxNodeCount
dans le retour 0
de sortie. Pour obtenir le nombre précis de nœuds dans chaque pool de nœuds, utilisez la commande Get-AksHciNodePool
avec le nom de cluster spécifié.
Pour obtenir la liste des pools de nœuds dans le cluster, exécutez la commande PowerShell Get-AksHciNodePool suivante :
Get-AksHciNodePool -clusterName mycluster
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Installer l’interface de ligne de commande Kubernetes
Pour vous connecter au cluster Kubernetes à partir de votre ordinateur local, utilisez kubectl, le client de ligne de commande Kubernetes.
Se connecter au cluster à l’aide de kubectl
Pour configurer kubectl
afin de vous connecter à votre cluster Kubernetes, exécutez la commande Get-AksHciCredential. L’exemple suivant obtient les informations d’identification du cluster nommé mycluster
:
Get-AksHciCredential -name mycluster
Pour vérifier la connexion à votre cluster, exécutez la commande kubectl get nodes pour retourner la liste des nœuds de cluster :
kubectl get nodes
NAME STATUS ROLES AGE VERSION
moc-lbs6got5dqo Ready <none> 6d20h v1.20.7
moc-lel7tzxdt30 Ready control-plane,master 6d20h v1.20.7
Étapes suivantes
Dans ce tutoriel, un cluster Kubernetes a été déployé dans ACS, et vous avez configuré kubectl
pour qu’il s’y connecte. Vous avez appris à :
- Déployer un cluster AKS sur Azure Local
- Installer l’interface de ligne de commande Kubernetes (kubectl)
- Configurer kubectl pour se connecter à votre cluster AKS
Passez au didacticiel suivant pour savoir comment déployer une application dans le cluster.