Se connecter avec RDP à des nœuds Windows Server de cluster AKS (Azure Kubernetes Service) à des fins de maintenance ou de résolution des problèmes
Tout au long du cycle de vie de votre cluster AKS (Azure Kubernetes Service ), vous pouvez être amené à accéder à un nœud Windows Server AKS, que ce soit pour effectuer une tâche de maintenance, une collecte de journaux ou d’autres opérations de dépannage. Vous pouvez accéder aux nœuds Windows Server AKS à l’aide de RDP. Pour des raisons de sécurité, les nœuds AKS ne sont pas exposés à Internet.
Sinon, si vous souhaitez établir une connexion SSH à vos nœuds Windows Server AKS, vous devez accéder à la même paire de clés que celle utilisée lors de la création du cluster. Suivez la procédure décrite dans SSH dans les nœuds de cluster Azure Kubernetes Service (AKS).
Cet article vous montre comment créer une connexion RDP avec des nœuds AKS en utilisant leurs adresses IP privées.
Avant de commencer
Cet article part de l’hypothèse que vous disposez déjà d’un cluster AKS avec un nœud Windows Server. Si vous avez besoin d’un cluster AKS, consultez l’article traitant de la création d’un cluster AKS avec un conteneur Windows à partir d’Azure CLI. Vous avez besoin du nom d’utilisateur et du mot de passe de l’administrateur Windows du nœud Windows Server dont vous souhaitez résoudre les problèmes. Vous avez aussi besoin d’un client RDP comme Bureau à distance Microsoft.
Si vous devez réinitialiser le mot de passe, utilisez az aks update
pour le modifier.
az aks update --resource-group myResourceGroup --name myAKSCluster --windows-admin-password $WINDOWS_ADMIN_PASSWORD
Si vous devez réinitialiser le nom d’utilisateur et le mot de passe, consultez Réinitialiser les Services Bureau à distance ou le mot de passe administrateur associé dans une machine virtuelle Windows.
Azure CLI version 2.0.61 ou ultérieure doit également être installé et configuré. Exécutez az --version
pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
Déployer une machine virtuelle dans le même sous-réseau que votre cluster
Les nœuds Windows Server de votre cluster AKS n’ont pas d’adresses IP accessibles en externe. Pour établir une connexion RDP, vous pouvez déployer une machine virtuelle dotée d’une adresse IP accessible publiquement dans le même sous-réseau que vos nœuds Windows Server.
Dans l’exemple suivant, une machine virtuelle nommée myVM est créée dans le groupe de ressources myResourceGroup.
Obtenez l’ID du sous-réseau utilisé par votre pool de nœuds et requête Windows Server pour :
- Groupe de ressources de nœud du cluster
- Le réseau virtuel
- Nom du sous-réseau
- ID du sous-réseau
CLUSTER_RG=$(az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv)
VNET_NAME=$(az network vnet list --resource-group $CLUSTER_RG --query [0].name -o tsv)
SUBNET_NAME=$(az network vnet subnet list --resource-group $CLUSTER_RG --vnet-name $VNET_NAME --query [0].name -o tsv)
SUBNET_ID=$(az network vnet subnet show --resource-group $CLUSTER_RG --vnet-name $VNET_NAME --name $SUBNET_NAME --query id -o tsv)
Maintenant que vous disposez du SUBNET_ID, exécutez la commande suivante dans la même fenêtre Azure Cloud Shell pour créer la machine virtuelle :
PUBLIC_IP_ADDRESS="myVMPublicIP"
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image win2019datacenter \
--admin-username azureuser \
--admin-password {admin-password} \
--subnet $SUBNET_ID \
--nic-delete-option delete \
--os-disk-delete-option delete \
--nsg "" \
--public-ip-address $PUBLIC_IP_ADDRESS \
--query publicIpAddress -o tsv
L’exemple de sortie suivant montre que la machine virtuelle a bien été créée et présente l’adresse IP publique de la machine virtuelle.
13.62.204.18
Enregistrez l’adresse IP publique de la machine virtuelle. Vous utiliserez cette adresse dans une étape ultérieure.
Autoriser l’accès à la machine virtuelle
Les sous-réseaux de pools de nœuds AKS sont protégés par défaut avec des groupes de sécurité réseau (NSG). Pour accéder à la machine virtuelle, vous devez activer l’accès au groupe de sécurité réseau.
Notes
Les groupes de sécurité réseau sont contrôlés par le service AKS. Toute modification apportée au groupe de sécurité réseau sera remplacée à tout moment par le plan de contrôle.
Tout d’abord, récupérez le groupe de ressources et le nom du groupe de sécurité réseau auquel ajouter la règle :
CLUSTER_RG=$(az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv)
NSG_NAME=$(az network nsg list --resource-group $CLUSTER_RG --query [].name -o tsv)
Ensuite, créez la règle du groupe de sécurité réseau :
az network nsg rule create \
--name tempRDPAccess \
--resource-group $CLUSTER_RG \
--nsg-name $NSG_NAME \
--priority 100 \
--destination-port-range 3389 \
--protocol Tcp \
--description "Temporary RDP access to Windows nodes"
Obtenir l’adresse des nœuds
Pour gérer un cluster Kubernetes, vous utilisez kubectl, le client de ligne de commande Kubernetes. Si vous utilisez Azure Cloud Shell, kubectl
est déjà installé. Pour installer kubectl
en local, utilisez la commande az aks install-cli :
az aks install-cli
Pour configurer kubectl
afin de vous connecter à votre cluster Kubernetes, exécutez la commande az aks get-credentials. Cette commande télécharge les informations d’identification et configure l’interface CLI Kubernetes pour les utiliser.
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Listez les adresses IP internes des nœuds Windows Server en utilisant la commande kubectl get :
kubectl get nodes -o wide
L’exemple de sortie suivant montre les adresses IP internes de tous les nœuds du cluster, y compris des nœuds Windows Server.
$ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
aks-nodepool1-42485177-vmss000000 Ready agent 18h v1.12.7 10.240.0.4 <none> Ubuntu 16.04.6 LTS 4.15.0-1040-azure docker://3.0.4
aksnpwin000000 Ready agent 13h v1.12.7 10.240.0.67 <none> Windows Server Datacenter 10.0.17763.437
Enregistrez l’adresse IP interne du nœud Windows Server dont vous voulez résoudre les problèmes. Vous utiliserez cette adresse dans une étape ultérieure.
Se connecter à la machine virtuelle et au nœud
Connectez-vous à l’adresse IP publique de la machine virtuelle que vous avez créée précédemment à l’aide d’un client RDP comme le Bureau à distance Microsoft.
Après vous être connecté à la machine virtuelle, connectez-vous à l’adresse IP interne du nœud Windows Server dont vous voulez résoudre les problèmes à l’aide d’un client RDP depuis votre machine virtuelle.
Vous êtes maintenant connecté à votre nœud Windows Server.
Vous pouvez maintenant exécuter des commandes de dépannage dans la fenêtre cmd. Comme les nœuds Windows Server utilisent Windows Server Core, vous ne disposez pas d’interface GUI complète ou d’autres outils GUI au moment où vous vous connectez à un nœud Windows Server via RDP.
Retirer l’accès RDP
Lorsque vous avez terminé, quittez la connexion RDP au nœud Windows Server, puis quittez la session RDP sur la machine virtuelle. Après avoir quitté les deux sessions RDP, supprimez la machine virtuelle avec la commande az vm delete :
# Delete the virtual machine
az vm delete \
--resource-group myResourceGroup \
--name myVM
Supprimez l’adresse IP publique associée à la machine virtuelle :
az network public-ip delete \
--resource-group myResourceGroup \
--name $PUBLIC_IP_ADDRESS
Supprimez la règle de groupe de sécurité réseau :
CLUSTER_RG=$(az aks show --resource-group myResourceGroup --name myAKSCluster --query nodeResourceGroup -o tsv)
NSG_NAME=$(az network nsg list --resource-group $CLUSTER_RG --query [].name -o tsv)
az network nsg rule delete \
--resource-group $CLUSTER_RG \
--nsg-name $NSG_NAME \
--name tempRDPAccess
Se connecter avec Azure Bastion
Vous pouvez également utiliser Azure Bastion pour vous connecter à votre nœud Windows Server.
Déployer Azure Bastion
Pour déployer Azure Bastion, vous devez trouver le réseau virtuel auquel votre cluster AKS est connecté.
- Dans le portail Azure, accédez à Réseaux virtuels. Sélectionnez le réseau virtuel auquel votre cluster AKS est connecté.
- Sous Paramètres, sélectionnez Bastion, puis Déployer Bastion. Attendez que le processus se termine avant de passer à l’étape suivante.
Se connecter aux nœuds Windows Server à l’aide d’Azure Bastion
Accédez au groupe de ressources de nœud du cluster AKS. Exécutez la commande ci-dessous dans Azure Cloud Shell pour obtenir le nom de votre groupe de ressources de nœud :
az aks show --name myAKSCluster --resource-group myResourceGroup --query 'nodeResourceGroup' -o tsv
- Sélectionnez Vue d’ensemble, puis votre groupe de machines virtuelles identiques de pool de nœuds Windows.
- Dans Paramètres, sélectionnez Instances. Sélectionnez un nœud Windows Server auquel vous souhaitez vous connecter.
- Sous Support + dépannage, sélectionnez Bastion.
- Entrez les informations d’identification que vous avez configurées lors de la création du cluster AKS. Sélectionnez Se connecter.
Vous pouvez maintenant exécuter des commandes de dépannage dans la fenêtre cmd. Comme les nœuds Windows Server utilisent Windows Server Core, vous ne disposez pas d’interface GUI complète ou d’autres outils GUI au moment où vous vous connectez à un nœud Windows Server via RDP.
Notes
Si vous fermez la fenêtre du terminal, appuyez sur Ctrl + Alt + Fin, sélectionnez Gestionnaire des tâches, Plus de détails, Fichier, Exécuter une nouvelle tâche, puis entrez cmd.exe pour ouvrir un autre terminal. Vous pouvez également vous déconnecter et vous reconnecter avec Bastion.
Supprimer l’accès Bastion
Lorsque vous avez terminé, quittez la session Bastion et supprimez la ressource Bastion.
- Dans le portail Azure, accédez à Bastion et sélectionnez la ressource Bastion que vous avez créée.
- En haut de la page, sélectionnez Supprimer. Attendez que le processus se termine avant de passer à l’étape suivante.
- Dans le portail Azure, accédez à Réseaux virtuels. Sélectionnez le réseau virtuel auquel votre cluster AKS est connecté.
- Sous Paramètres, sélectionnez Sous-réseau, puis supprimez le sous-réseau AzureBastionSubnet créé pour la ressource Bastion.
Étapes suivantes
Si vous avez besoin de plus de données de dépannage, vous pouvez consulter les journaux de nœud principal Kubernetes ou Azure Monitor.
Azure Kubernetes Service