Ansluta med RDP till Azure Kubernetes Service-kluster (AKS) Windows Server-noder för underhåll eller felsökning
Under hela livscykeln för ditt AKS-kluster (Azure Kubernetes Service) kan du behöva komma åt en AKS Windows Server-nod. Den här åtkomsten kan vara för underhåll, logginsamling eller andra felsökningsåtgärder. Du kan komma åt AKS Windows Server-noderna med RDP. I säkerhetssyfte exponeras inte AKS-noderna för Internet.
Om du vill SSH till dina AKS Windows Server-noder behöver du också åtkomst till samma nyckelpar som användes när klustret skapades. Följ stegen i SSH i AKS-klusternoder (Azure Kubernetes Service).
Den här artikeln visar hur du skapar en RDP-anslutning med en AKS-nod med hjälp av deras privata IP-adresser.
Innan du börjar
Den här artikeln förutsätter att du har ett befintligt AKS-kluster med en Windows Server-nod. Om du behöver ett AKS-kluster kan du läsa artikeln om hur du skapar ett AKS-kluster med en Windows-container med hjälp av Azure CLI. Du behöver användarnamnet och lösenordet för Windows-administratören för den Windows Server-nod som du vill felsöka. Du behöver också en RDP-klient, till exempel Microsoft Fjärrskrivbord.
Om du behöver återställa lösenordet använder du az aks update
för att ändra lösenordet.
az aks update --resource-group myResourceGroup --name myAKSCluster --windows-admin-password $WINDOWS_ADMIN_PASSWORD
Om du behöver återställa användarnamnet och lösenordet kan du läsa Återställa fjärrskrivbordstjänster eller dess administratörslösenord på en virtuell Windows-dator.
Du behöver även Azure CLI version 2.0.61 eller senare installerad och konfigurerad. Kör az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Distribuera en virtuell dator till samma undernät som klustret
Windows Server-noderna i aks-klustret har inte externt tillgängliga IP-adresser. För att upprätta en RDP-anslutning kan du distribuera en virtuell dator med en offentligt tillgänglig IP-adress till samma undernät som dina Windows Server-noder.
I följande exempel skapas en virtuell dator med namnet myVM i resursgruppen myResourceGroup .
Du måste hämta det undernäts-ID som används av din Windows Server-nodpool och fråga efter:
- Klustrets nodresursgrupp
- Det virtuella nätverket
- Undernätets namn
- Undernäts-ID:t
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)
Nu när du har SUBNET_ID kör du följande kommando i samma Azure Cloud Shell-fönster för att skapa den virtuella datorn:
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
Följande exempelutdata visar att den virtuella datorn har skapats och visar den virtuella datorns offentliga IP-adress.
13.62.204.18
Registrera den virtuella datorns offentliga IP-adress. Du använder den här adressen i ett senare steg.
Tillåt åtkomst till den virtuella datorn
AKS-nodpoolundernät skyddas som standard med NSG:er (nätverkssäkerhetsgrupper). För att få åtkomst till den virtuella datorn måste du aktivera åtkomst i NSG.
Kommentar
NSG:erna styrs av AKS-tjänsten. Alla ändringar du gör i NSG skrivs över när som helst av kontrollplanet.
Hämta först resursgruppen och namnet på NSG:n för att lägga till regeln i:
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)
Skapa sedan NSG-regeln:
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"
Hämta nodadressen
För att hantera Kubernetes-kluster använder du kubectl, Kubernetes kommandoradsklient. Om du använder Azure Cloud Shell är kubectl
redan installerat. För att installera kubectl
lokalt använder du kommandot az aks install-cli:
az aks install-cli
För att konfigurera kubectl
till att ansluta till ditt Kubernetes-kluster använder du kommandot az aks get-credentials. Det här kommandot laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Visa en lista över den interna IP-adressen för Windows Server-noderna med kommandot kubectl get :
kubectl get nodes -o wide
Följande exempelutdata visar interna IP-adresser för alla noder i klustret, inklusive Windows Server-noderna.
$ 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
Registrera den interna IP-adressen för den Windows Server-nod som du vill felsöka. Du använder den här adressen i ett senare steg.
Ansluta till den virtuella datorn och noden
Anslut till den offentliga IP-adressen för den virtuella dator som du skapade tidigare med hjälp av en RDP-klient, till exempel Microsoft Fjärrskrivbord.
När du har anslutit till den virtuella datorn ansluter du till den interna IP-adressen för den Windows Server-nod som du vill felsöka med hjälp av en RDP-klient inifrån den virtuella datorn.
Nu är du ansluten till din Windows Server-nod.
Nu kan du köra alla felsökningskommandon i cmd-fönstret . Eftersom Windows Server-noder använder Windows Server Core finns det inte ett fullständigt GUI eller andra GUI-verktyg när du ansluter till en Windows Server-nod via RDP.
Ta bort RDP-åtkomst
När du är klar avslutar du RDP-anslutningen till Windows Server-noden och avslutar sedan RDP-sessionen till den virtuella datorn. När du har avslutat båda RDP-sessionerna tar du bort den virtuella datorn med kommandot az vm delete :
# Delete the virtual machine
az vm delete \
--resource-group myResourceGroup \
--name myVM
Ta bort den offentliga IP-adress som är associerad med den virtuella datorn:
az network public-ip delete \
--resource-group myResourceGroup \
--name $PUBLIC_IP_ADDRESS
Ta bort NSG-regeln:
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
Ansluta till Azure Bastion
Du kan också använda Azure Bastion för att ansluta till din Windows Server-nod.
Distribuera Azure Bastion
Om du vill distribuera Azure Bastion måste du hitta det virtuella nätverk som AKS-klustret är anslutet till.
- I Azure Portal går du till Virtuella nätverk. Välj det virtuella nätverk som AKS-klustret är anslutet till.
- Under Inställningar väljer du Bastion och sedan Distribuera Bastion. Vänta tills processen är klar innan du går vidare till nästa steg.
Ansluta till dina Windows Server-noder med Hjälp av Azure Bastion
Gå till nodresursgruppen för AKS-klustret. Kör kommandot nedan i Azure Cloud Shell för att hämta namnet på nodresursgruppen:
az aks show --name myAKSCluster --resource-group myResourceGroup --query 'nodeResourceGroup' -o tsv
- Välj Översikt och välj vm-skalningsuppsättningen för windows-nodpoolen.
- Gå till Inställningar och välj Instanser. Välj en Windows Server-nod som du vill ansluta till.
- Under Support + felsökning väljer du Bastion.
- Ange de autentiseringsuppgifter som du konfigurerade när AKS-klustret skapades. Välj Anslut.
Nu kan du köra alla felsökningskommandon i cmd-fönstret . Eftersom Windows Server-noder använder Windows Server Core finns det inte ett fullständigt GUI eller andra GUI-verktyg när du ansluter till en Windows Server-nod via RDP.
Kommentar
Om du stänger terminalfönstret trycker du på CTRL + ALT + End, väljer Aktivitetshanteraren, väljer Mer information, väljer Arkiv, väljer Kör ny aktivitet och anger cmd.exe för att öppna en annan terminal. Du kan också logga ut och ansluta igen med Bastion.
Ta bort Bastion-åtkomst
När du är klar avslutar du Bastion-sessionen och tar bort Bastion-resursen.
- I Azure Portal går du till Bastion och väljer den Bastion-resurs som du skapade.
- Välj Ta bort längst upp på sidan. Vänta tills processen är klar innan du fortsätter till nästa steg.
- I Azure Portal går du till Virtuella nätverk. Välj det virtuella nätverk som AKS-klustret är anslutet till.
- Under Inställningar väljer du Undernät och tar bort undernätet AzureBastionSubnet som skapades för Bastion-resursen.
Nästa steg
Om du behöver mer felsökningsdata kan du visa Kubernetes primära nodloggar eller Azure Monitor.
Azure Kubernetes Service