Dela via


Anslut 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.

Anslut 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.

Image of connecting to the virtual machine using an RDP client

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.

Image of connecting to the Windows Server node using an RDP client

Nu är du ansluten till din Windows Server-nod.

Image of cmd window in the Windows Server node

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

Anslut med 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.

  1. Gå till Virtuella nätverk i Azure-portalen. Välj det virtuella nätverk som AKS-klustret är anslutet till.
  2. 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.

Anslut 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
  1. Välj Översikt och välj vm-skalningsuppsättningen för windows-nodpoolen.
  2. Gå till Inställningar och välj Instanser. Välj en Windows Server-nod som du vill ansluta till.
  3. Under Support + felsökning väljer du Bastion.
  4. 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.

  1. I Azure-portalen går du till Bastion och väljer den Bastion-resurs som du skapade.
  2. Välj Ta bort längst upp på sidan. Vänta tills processen är klar innan du fortsätter till nästa steg.
  3. Gå till Virtuella nätverk i Azure-portalen. Välj det virtuella nätverk som AKS-klustret är anslutet till.
  4. 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.