Préparer votre environnement de virtualisation imbriqué pour AKS Edge Essentials
Cet article explique comment configurer un environnement de virtualisation imbriqué pour déployer un cluster Azure Kubernetes Service (AKS) Edge Essentials.
Remarque
Le déploiement d’AKS Edge Essentials sur un environnement de virtualisation imbriqué sur VMware ESXi est pris en charge. D’autres déploiements de virtualisation imbriqués ne sont pas pris en charge pour les scénarios de production et sont limités aux besoins des développeurs. Ce guide suppose que vous utilisez l’hyperviseur Hyper-V. Nous ne prenons pas en charge l’utilisation d’un hyperviseur non-Microsoft, tel que KVM.
Prérequis
- Consultez la configuration système requise.
- Configuration requise pour le système d’exploitation : installez Windows 10/11 IoT Enterprise/Enterprise/Pro sur votre ordinateur et activez Windows. Nous vous recommandons d’utiliser la dernière version cliente 22H2 (build du système d’exploitation 19045) ou Server 2022 (build du système d’exploitation 20348). Vous pouvez télécharger une version de Windows 10 ici ou Windows 11 ici.
Déploiement sur une machine virtuelle Windows sur VMware ESXi
Les versions VMware ESXi 7.0 et 8.0 peuvent héberger AKS Edge Essentials sur une machine virtuelle Windows.
Pour configurer AKS Edge Essentials sur une machine virtuelle Windows VMware ESXi, procédez comme suit :
- Créez une machine virtuelle Windows sur l’hôte VMware ESXi. Pour plus d’informations sur le déploiement de machines virtuelles VMware, consultez VMware - Déploiement de machines virtuelles.
Remarque
Si vous créez une machine virtuelle Windows 11, vérifiez qu’elle répond aux exigences minimales requises par Microsoft pour exécuter Windows 11. Pour plus d’informations sur la prise en charge de la machine virtuelle Windows 11 VMware, consultez Installation de Windows 11 en tant que système d’exploitation invité sur VMware.
- Désactivez la machine virtuelle créée à l’étape précédente.
- Sélectionnez la machine virtuelle Windows, puis Modifier les paramètres.
- Recherchez Virtualisation matérielle et activez Exposer la virtualisation assistée par le matériel sur le système d’exploitation invité.
- Sélectionnez Enregistrer, puis démarrez la machine virtuelle.
- Installez l’hyperviseur Hyper-V. Si vous utilisez un client Windows, veillez à Installer Hyper-V sur Windows 10. Si vous utilisez Windows Server, veillez à installer le rôle Hyper-V.
Déploiement sur des machines virtuelles Azure
Si vous exécutez AKS Edge Essentials sur une machine virtuelle Azure, veillez à utiliser une unité de calcul Azure (ACU) qui prend en charge la virtualisation imbriquée. Pour plus d’informations, consultez l’unité de calcul Azure (ACU). En outre, les machines virtuelles Azure ne prennent pas en charge l’utilisation d’un commutateur virtuel externe. Les déploiements AKS Edge Essentials au-dessus du système d’exploitation hôte de machine virtuelle sont limités aux clusters à machine unique.
Environnement de déploiement
Cette section décrit l’architecture imbriquée, mettant en évidence les principaux composants et la configuration nécessaires. Les niveaux de virtualisation décrits plus loin dans cet article sont les suivants :
- Système d’exploitation hôte L0 : système d’exploitation hôte Windows. Ce système d’exploitation peut exécuter nu ou en tant que machine virtuelle, mais dans cet article, le système d’exploitation hôte L0 est celui qui crée les machines virtuelles Windows L1 imbriquées.
- Machine virtuelle L1 : machine virtuelle Windows s’exécutant sur le système d’exploitation hôte L0 Windows. Cette machine virtuelle dispose de l’installation d’AKS Edge Essentials.
- Machine virtuelle L2 : machine virtuelle imbriquée AKS Edge Essentials (Linux ou Windows) s’exécutant sur la machine virtuelle Windows L1.
Vous pouvez configurer un environnement imbriqué à l’aide d’un commutateur virtuel interne ou externe. Toutefois, cet article suppose que vous utilisez un commutateur virtuel interne. Les adresses IP de la machine Windows L0 et des machines virtuelles L1/L2 peuvent changer en fonction du scénario de mise en réseau. Cet article suppose que vous utilisez la famille d’adresses IP 172.20.1.0/24 .
En outre, le déploiement de nœuds Windows AKS Edge Essentials est facultatif et a un impact sur vos besoins en mémoire attribués. Cet article décrit un déploiement Linux uniquement, mais vous pouvez ajouter vos nœuds Windows en ajoutant la configuration appropriée aux fichiers JSON de déploiement.
Conseil
Si vous utilisez des commutateurs virtuels externes pour le déploiement, veillez à utiliser les cartes réseau et les allocations d’adresses IP appropriées.
Le diagramme précédent montre les différentes machines virtuelles et composants de cette architecture imbriquée.
Appareil/machine virtuelle | Système d’exploitation | Niveau | Parent | Mémoire | Adresse IP |
---|---|---|---|---|---|
Système d’exploitation hôte Windows | Windows | L0 | - | 32/64 Go | 172.20.1.1 |
Windows-VM-1 | Windows | L1 | Système d’exploitation hôte Windows | 8/16 Go | 172.20.1.2 |
Windows-VM-2 | Windows | L1 | Système d’exploitation hôte Windows | 8/16 Go | 172.20.1.3 |
AKS-Edge-Linux-VM-1 | CBL-Mariner | L2 | Windows-VM-1 | 4 Go | 172.20.1.4 |
AKS-Edge-Windows-VM-1 (facultatif) | Windows | L2 | Windows-VM-1 | 4 Go | 172.20.1.5 |
AKS-Edge-Linux-VM-2 | CBL-Mariner | L2 | Windows-VM-2 | 4 Go | 172.20.1.6 |
AKS-Edge-Windows-VM-2 (facultatif) | Windows | L2 | Windows-VM-2 | 4 Go | 172.20.1.7 |
Configurer des machines virtuelles imbriquées
Le guide suivant est un exemple d’allocation d’adresses IP. Vous pouvez utiliser votre propre allocation en fonction de votre environnement réseau et des exigences. Les conventions d’affectation de noms pour les machines virtuelles et les affectations de matériel virtuel sont également suggérées, mais vous pouvez utiliser votre propre configuration.
Ouvrez une session PowerShell avec élévation de privilèges.
Créez un commutateur virtuel interne :
New-VMSwitch -Name "AKS-Int" -SwitchType Internal
Si vous avez créé le commutateur correctement, vous devez voir quelque chose de similaire à la sortie suivante :
Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ AKS-Int Internal
Affectez une adresse IP au commutateur virtuel AKS-Int . Cet exemple utilise le réseau 172.20.1.0/24 . Le système d’exploitation hôte Windows utilise cette adresse IP de commutateur virtuel pour communiquer avec les autres machines virtuelles et les nœuds AKS Edge Essentials :
$ifIndex = (Get-NetAdapter -Name "vEthernet (AKS-Int)").ifIndex New-NetIPAddress –IPAddress "172.20.1.1" -PrefixLength "24" -InterfaceIndex $ifIndex
Créez une table NAT pour connecter le commutateur virtuel interne et les appareils connectés au réseau interne avec le réseau externe/Internet :
New-NetNat -Name "AKS-EE-Int-Network" -InternalIPInterfaceAddressPrefix "172.20.1.0/24"
À l’aide du Gestionnaire Hyper-V, créez la première machine virtuelle Windows et nommez-la Windows-VM-1. Pour plus d’informations sur la création de machines virtuelles, consultez virtualisation de Windows Server. Pendant la configuration de la machine virtuelle, veillez à configurer correctement les paramètres suivants :
- Processeurs : nombre de processeurs virtuels : 4
- Mémoire : RAM : 8192 Mo
- Carte réseau : commutateur virtuel : AKS-Int
Une fois l’installation et la configuration de Windows terminées, désactivez votre machine virtuelle Windows-VM-1 .
Activez la virtualisation imbriquée pour Windows-VM-1. Pour plus d’informations sur la virtualisation imbriquée, consultez Exécuter Hyper-V dans une machine virtuelle avec la virtualisation imbriquée :
Set-VMProcessor -VMName <windows-vm-name> -ExposeVirtualizationExtensions $true
Activer l’usurpation MAC pour Windows-VM-1 :
Get-VMNetworkAdapter -VMName <windows-vm-name> | Set-VMNetworkAdapter -MacAddressSpoofing On
Activez la machine virtuelle Windows-VM-1 et connectez-vous à l’aide de l’option Hyper-V Connect .
À l’intérieur de la machine virtuelle Windows-VM-1 , ouvrez une session PowerShell avec élévation de privilèges.
Vérifiez les adaptateurs connectés à la machine virtuelle. Recherchez le nom de l’adaptateur <>Ethernet connecté. Par exemple, Ethernet 2 :
ipconfig
Vous devez obtenir un graphique similaire à la sortie suivante :
PS C:\Windows\system32> ipconfig Windows IP Configuration Ethernet adapter Ethernet 2: Connection-specific DNS Suffix . : mshome.net Link-local IPv6 Address . . . . . : fe80::f4b3:63b3:20d0:2e60%12 Autoconfiguration IPv4 Address. . : 169.254.233.233 Subnet Mask . . . . . . . . . . . : 255.255.0.0 Default Gateway . . . . . . . . . : Ethernet adapter vEthernet (Default Switch): Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : fe80::545e:7d5:812b:c17b%18 IPv4 Address. . . . . . . . . . . : 172.21.144.1 Subnet Mask . . . . . . . . . . . : 255.255.240.0 Default Gateway . . . . . . . . . :
Obtenez l’ifIndex de l’adaptateur Ethernet avec le nom de l’étape précédente :
$ifIndex = (Get-NetAdapter -Name "<name>").ifIndex
Configurez l’adresse IP statique 172.20.1.2 et l’adresse IP de passerelle 172.20.1.1 et DNS Server 172.20.1.1 :
Conseil
Si vous utilisez une machine virtuelle Azure, utilisez le serveur DNS du système d’exploitation hôte Windows (L0 ). Utilisez la
ipconfig /all
commande pour obtenir l’adresse du serveur DNS. Vérifiez que vous êtes en mesure d’accéder à Internet à l’aide de votre navigateur web. Si vous n’avez pas d’accès, vérifiez si le serveur DNS est correctement configuré :New-NetIPAddress –IPAddress "172.20.1.2" -DefaultGateway "172.20.1.1" -PrefixLength "24" -InterfaceIndex $ifIndex Set-DNSClientServerAddress –InterfaceIndex $ifIndex –ServerAddresses "172.20.1.1"
Configurez la machine virtuelle Windows-VM-1 , en suivant la procédure Préparer vos machines pour AKS Edge Essentials .
Installez tous les prérequis AKS Edge Essentials pour la machine virtuelle Windows-VM-1 . Pour plus d’informations sur les conditions préalables requises, consultez les exigences et la matrice de prise en charge d’AKS Edge Essentials :
Install-AksEdgeHostFeatures
Créez le fichier de configuration de déploiement à grande échelle AKS Edge Essentials. Une fois le json créé, ajoutez les paramètres requis. Veillez à modifier la carte réseau pour la création de commutateur virtuel externe, le serveur DNS, la mémoire affectée et les adresses IP statiques correctes. Pour plus d’informations, consultez Déploiements Kubernetes complets dans AKS Edge Essentials :
New-AksEdgeConfig -NodeType Linux -DeploymentType ScalableCluster
Déployez le déploiement à grande échelle AKS Edge Essentials à l’aide du fichier JSON de configuration créé à l’étape précédente :
New-AksEdgeDeployment -JsonConfigFilePath .\AksEdgeDeployConfigTemplate.json
Activez le trafic ICMP ping sur la machine virtuelle AKS-Edge-VM-1 :
Invoke-AksEdgeNodeCommand -NodeType "Linux" -command "sudo iptables -A INPUT -p ICMP -j ACCEPT"
Ping AKS-Edge-VM-1 à partir de la machine virtuelle Windows-VM-1 :
ping 172.20.1.4
Ping AKS-Edge-VM-1 à partir du système d’exploitation hôte Windows :
ping 172.20.1.4
Avertissement
Si les requêtes ping adressées à la machine virtuelle AKS-Edge-VM-1 échouent, passez en revue la configuration IP et résolvez les problèmes liés aux connexions réseau.
Dans Windows-VM-1, obtenez le fichier JSON scaleConfig à utiliser dans Windows-VM-2 :
New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <VM2-Linux-Node-IP>
Créez la machine virtuelle Windows-VM-2 . Répétez les étapes 4 à 14 avec les nouveaux paramètres Windows-VM-2 :
- Nom de la machine virtuelle : Windows-VM-2
- Adresse IP : 172.20.1.3
- Processeurs : nombre de processeurs virtuels : 4
- Mémoire : 8192 Mo
- Carte réseau (commutateur virtuel) : AKS-Int
- Adresse de la passerelle IP : 172.20.1.1
- Adresse du serveur DNS : 172.20.1.1
Testez le test ping de Windows-VM-2 vers AKS-Edge-VM-1 :
ping 172.20.1.4
Avertissement
Si les requêtes ping adressées à AKS-Edge-VM-1 échouent, passez en revue la configuration IP et résolvez les problèmes de connexions réseau.
Configurez la machine virtuelle Windows-VM-2 en suivant la procédure Préparer vos machines pour AKS Edge Essentials .
Installez tous les prérequis AKS Edge Essentials pour la machine virtuelle Windows-VM-2 . Pour plus d’informations sur les conditions préalables requises, consultez les exigences et la matrice de prise en charge d’AKS Edge Essentials :
Install-AksEdgeHostFeatures
Connectez-vous à la machine virtuelle Windows-VM-1 et à l’aide d’une session PowerShell avec élévation de privilèges, obtenez la configuration de jointure de cluster AKS Edge :
New-AksEdgeScaleConfig -NodeType Linux -ScaleType AddMachine -LinuxNodeIp <AKS-Edge-Linux-VM-2>
Copiez le fichier de configuration identique AKS Edge Essentials à partir de Windows-VM-1 et modifiez-le avec les paramètres appropriés. Pour plus d’informations, consultez Scale-out sur plusieurs machines.
Déployez AKS-Edge-VM-2 sur Window-VM-2 à l’aide du fichier JSON de configuration identique à l’étape précédente :
New-AksEdgeDeployment -JsonConfigFilePath <scale-config-json>
Vérifiez que le nœud a été ajouté au cluster. Sur n’importe quel nœud du cluster, exécutez l’applet de commande suivante :
kubectl get nodes
Si tout a été correctement configuré, vous devez voir les deux nœuds Linux s’exécutant dans votre cluster :
PS C:\> kubectl get nodes NAME STATUS ROLES AGE VERSION windows-vm1-ledge Ready control-plane,etcd,master 3m45s v1.24.3+k3s- windows-vm2-ledge Ready control-plane,etcd,master 10m25s v1.24.3+k3s-
Remarque
Pour obtenir la liste des versions Kubernetes actuellement prises en charge sur K3s et K8s, consultez le tableau dans Télécharger AKS Edge Essentials.
Étapes suivantes
- Ajouter des charges de travail en déployant des applications
- Résoudre les problèmes de votre déploiement