Připojení s využitím protokolu RDP k uzlům Clusteru Azure Kubernetes Service (AKS) pro účely údržby nebo řešení potíží

V průběhu životního cyklu clusteru Azure Kubernetes Service (AKS) možná budete potřebovat přístup k uzlu AKS s Windows Serverem. Tento přístup může být určený pro údržbu, shromažďování protokolů nebo jiné operace řešení potíží. K uzlům Windows Serveru AKS můžete přistupovat pomocí protokolu RDP. Pro účely zabezpečení nejsou uzly AKS přístupné na internetu.

Případně pokud chcete SSH připojit k uzlům AKS Windows Serveru, potřebujete přístup ke stejnému páru klíčů, který jste použili při vytváření clusteru. Postupujte podle kroků v SSH do uzlů clusteru Azure Kubernetes Service (AKS).

V tomto článku se dozvíte, jak vytvořit připojení RDP k uzlu AKS pomocí jejich privátních IP adres.

Než začnete

Tento článek předpokládá, že máte existující cluster AKS s uzlem Windows Serveru. Pokud potřebujete cluster AKS, přečtěte si článek o vytvoření clusteru AKS s kontejnerem Windows pomocí Azure CLI. Pro uzel Windows Serveru, který chcete řešit potíže, potřebujete uživatelské jméno a heslo správce Systému Windows. Potřebujete také klienta RDP, jako je Vzdálená plocha Microsoft.

Pokud potřebujete resetovat heslo, použijte az aks update ke změně hesla.

az aks update -g myResourceGroup -n myAKSCluster --windows-admin-password $WINDOWS_ADMIN_PASSWORD

Pokud potřebujete resetovat uživatelské jméno a heslo, přečtěte si téma Resetování služby Vzdálená plocha nebo jeho heslo správce na virtuálním počítači s Windows .

Potřebujete také nainstalované a nakonfigurované Rozhraní příkazového řádku Azure CLI verze 2.0.61 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Nasazení virtuálního počítače do stejné podsítě jako cluster

Uzly Windows Serveru vašeho clusteru AKS nemají externě přístupné IP adresy. Pokud chcete vytvořit připojení RDP, můžete nasadit virtuální počítač s veřejně přístupnou IP adresou do stejné podsítě jako uzly Windows Serveru.

Následující příklad vytvoří virtuální počítač myVM ve skupině prostředků myResourceGroup .

Potřebujete získat ID podsítě používané fondem uzlů Windows Serveru a dotazem na:

  • Skupina prostředků uzlu clusteru
  • Virtuální síť
  • Název podsítě
  • ID podsítě
CLUSTER_RG=$(az aks show -g myResourceGroup -n myAKSCluster --query nodeResourceGroup -o tsv)
VNET_NAME=$(az network vnet list -g $CLUSTER_RG --query [0].name -o tsv)
SUBNET_NAME=$(az network vnet subnet list -g $CLUSTER_RG --vnet-name $VNET_NAME --query [0].name -o tsv)
SUBNET_ID=$(az network vnet subnet show -g $CLUSTER_RG --vnet-name $VNET_NAME --name $SUBNET_NAME --query id -o tsv)

Teď, když máte SUBNET_ID, vytvořte virtuální počítač spuštěním následujícího příkazu ve stejném okně Azure Cloud Shellu:

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

Následující příklad výstupu ukazuje, že se virtuální počítač úspěšně vytvořil a zobrazí veřejnou IP adresu virtuálního počítače.

13.62.204.18

Zaznamenejte veřejnou IP adresu virtuálního počítače. Tuto adresu použijete v pozdějším kroku.

Povolit přístup k virtuálnímu počítači

Podsítě fondu uzlů AKS jsou ve výchozím nastavení chráněné skupinami zabezpečení sítě (NSG). Pokud chcete získat přístup k virtuálnímu počítači, budete muset povolit přístup ve skupině zabezpečení sítě.

Poznámka:

Skupiny zabezpečení sítě jsou řízeny službou AKS. Všechny změny, které provedete v NSG, se přepíšou kdykoli řídicí rovinou.

Nejprve získejte skupinu prostředků a název skupiny zabezpečení sítě a přidejte pravidlo do:

CLUSTER_RG=$(az aks show -g myResourceGroup -n myAKSCluster --query nodeResourceGroup -o tsv)
NSG_NAME=$(az network nsg list -g $CLUSTER_RG --query [].name -o tsv)

Pak vytvořte pravidlo NSG:

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"

Získání adresy uzlu

Ke správě clusteru Kubernetes použijete klienta příkazového řádku Kubernetes kubectl. Pokud používáte Azure Cloud Shell, kubectl je už nainstalovaný. Pokud chcete nainstalovat kubectl místně, použijte příkaz az aks install-cli :

az aks install-cli

Pomocí příkazu az aks get-credentials nakonfigurujte klienta kubectl pro připojení k vašemu clusteru Kubernetes. Tento příkaz stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používalo.

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster

Pomocí příkazu kubectl get vypíšete interní IP adresu uzlů Windows Serveru:

kubectl get nodes -o wide

Následující příklad výstupu ukazuje interní IP adresy všech uzlů v clusteru, včetně uzlů Windows Serveru.

$ 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

Poznamenejte si interní IP adresu uzlu Windows Serveru, který chcete vyřešit. Tuto adresu použijete v pozdějším kroku.

Připojení k virtuálnímu počítači a uzlu

Připojení k veřejné IP adrese virtuálního počítače, který jste vytvořili dříve pomocí klienta RDP, jako je Vzdálená plocha Microsoft.

Image of connecting to the virtual machine using an RDP client

Po připojení k virtuálnímu počítači se připojte k interní IP adrese uzlu Windows Serveru, který chcete řešit potíže pomocí klienta RDP z virtuálního počítače.

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

Teď jste připojení k uzlu Windows Serveru.

Image of cmd window in the Windows Server node

V okně příkazového řádku teď můžete spustit všechny příkazy pro řešení potíží. Vzhledem k tomu, že uzly Windows Serveru používají jádro Windows Serveru, není při připojení k uzlu Windows Serveru přes protokol RDP k dispozici úplné grafické uživatelské rozhraní ani jiné nástroje grafického uživatelského rozhraní.

Odebrání přístupu RDP

Po dokončení ukončete připojení RDP k uzlu Windows Serveru a ukončete relaci RDP s virtuálním počítačem. Po ukončení obou relací RDP odstraňte virtuální počítač pomocí příkazu az vm delete :

# Delete the virtual machine
az vm delete \
 --resource-group myResourceGroup \
 --name myVM

Odstraňte veřejnou IP adresu přidruženou k virtuálnímu počítači:

az network public-ip delete \
 --resource-group myResourceGroup \
 --name $PUBLIC_IP_ADDRESS

Odstraňte pravidlo NSG:

CLUSTER_RG=$(az aks show -g myResourceGroup -n myAKSCluster --query nodeResourceGroup -o tsv)
NSG_NAME=$(az network nsg list -g $CLUSTER_RG --query [].name -o tsv)
az network nsg rule delete \
 --resource-group $CLUSTER_RG \
 --nsg-name $NSG_NAME \
 --name tempRDPAccess

Připojení se službou Azure Bastion

Případně se můžete pomocí služby Azure Bastion připojit k uzlu Windows Serveru.

Nasazení služby Azure Bastion

Pokud chcete nasadit Azure Bastion, budete muset najít virtuální síť, ke které je cluster AKS připojený.

  1. Na webu Azure Portal přejděte do virtuálních sítí. Vyberte virtuální síť, ke které je cluster AKS připojený.
  2. V části Nastavení vyberte Bastion a pak vyberte Nasadit Bastion. Než přejdete k dalšímu kroku, počkejte na dokončení procesu.

Připojení k uzlům Windows Serveru pomocí služby Azure Bastion

Přejděte do skupiny prostředků uzlu clusteru AKS. Spuštěním následujícího příkazu v Azure Cloud Shellu získejte název vaší skupiny prostředků uzlu:

az aks show -n myAKSCluster -g myResourceGroup --query 'nodeResourceGroup' -o tsv
  1. Vyberte Přehled a vyberte škálovací sadu virtuálních počítačů ve fondu uzlů s Windows.
  2. V části Nastavení vyberte Instance. Vyberte uzel Windows Serveru, ke kterému se chcete připojit.
  3. V části Podpora a řešení potíží vyberte Bastion.
  4. Zadejte přihlašovací údaje, které jste nastavili při vytvoření clusteru AKS. Vyberte Připojit.

V okně příkazového řádku teď můžete spustit všechny příkazy pro řešení potíží. Vzhledem k tomu, že uzly Windows Serveru používají jádro Windows Serveru, není při připojení k uzlu Windows Serveru přes protokol RDP k dispozici úplné grafické uživatelské rozhraní ani jiné nástroje grafického uživatelského rozhraní.

Poznámka:

Pokud okno terminálu zavřete, stiskněte ctrl + ALT + End, vyberte Správce úloh, vyberte Další podrobnosti, vyberte Soubor, vyberte Spustit nový úkol a zadejte cmd.exe a otevřete další terminál. Můžete se také odhlásit a znovu připojit pomocí Bastionu.

Odebrání přístupu k Bastionu

Po dokončení ukončete relaci Bastionu a odeberte prostředek Bastionu.

  1. Na webu Azure Portal přejděte na Bastion a vyberte prostředek Bastion , který jste vytvořili.
  2. V horní části stránky vyberte Odstranit. Než budete pokračovat k dalšímu kroku, počkejte na dokončení procesu.
  3. Na webu Azure Portal přejděte do virtuálních sítí. Vyberte virtuální síť, ke které je cluster AKS připojený.
  4. V části Nastavení vyberte Podsíť a odstraňte podsíť AzureBastionSubnet, která byla vytvořena pro prostředek Bastion.

Další kroky

Pokud potřebujete další data pro řešení potíží, můžete zobrazit protokoly primárního uzlu Kubernetes nebo Azure Monitor.