Bagikan melalui


Tersambung dengan RDP ke node kluster Azure Kubernetes Service (AKS) Windows Server untuk pemeliharaan atau pemecahan masalah

Sepanjang siklus hidup kluster Azure Kubernetes Service (AKS), Anda mungkin perlu mengakses simpul AKS Windows Server. Akses ini bisa untuk pemeliharaan, pengumpulan log, atau operasi pemecahan masalah lainnya. Anda dapat mengakses node AKS Windows Server menggunakan RDP. Untuk tujuan keamanan, simpul AKS tidak terekspos ke internet.

Atau, jika Anda ingin SSH ke simpul AKS Windows Server Anda, Anda memerlukan akses ke pasangan kunci yang sama yang digunakan selama pembuatan kluster. Ikuti langkah-langkah dalam SSH ke dalam node kluster Azure Kubernetes Service (AKS).

Artikel ini menunjukkan cara membuat koneksi RDP dengan simpul AKS menggunakan alamat IP privat mereka.

Sebelum Anda mulai

Artikel ini mengasumsikan bahwa Anda memiliki kluster AKS yang ada dengan simpul Window Server. Jika Anda memerlukan kluster AKS, lihat artikel tentang membuat kluster AKS dengan kontainer Windows menggunakan Azure CLI. Anda memerlukan nama pengguna dan kata sandi administrator Windows untuk simpul Windows Server yang ingin Anda pecahkan masalahnya. Anda juga memerlukan klien RDP seperti Desktop Jauh Microsoft.

Jika Anda perlu mengatur ulang kata sandi, gunakan az aks update untuk mengubah kata sandi tersebut.

az aks update --resource-group myResourceGroup --name myAKSCluster --windows-admin-password $WINDOWS_ADMIN_PASSWORD

Jika Anda perlu mengatur ulang nama pengguna dan kata sandi, lihat Mereset Layanan Desktop Jauh atau kata sandi administratornya di VM Windows.

Anda juga membutuhkan Azure CLI versi 2.0.61 atau versi terbaru yang terpasang dan terkonfigurasi. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Menyebarkan komputer virtual ke subnet yang sama dengan kluster Anda

Simpul Windows Server pada kluster AKS Anda tidak memiliki alamat IP yang dapat diakses secara eksternal. Untuk membuat koneksi RDP, Anda dapat menyebarkan komputer virtual dengan alamat IP yang dapat diakses publik ke subnet yang sama dengan simpul Windows Server Anda.

Contoh berikut ini menampilkan cara membuat komputer virtual bernama myVM di grup sumber daya bernama myResourceGroup.

Anda perlu mendapatkan ID subnet yang digunakan oleh kumpulan simpul Windows Server dan kueri untuk:

  • Grup sumber daya node kluster
  • Jaringan virtual
  • Nama subnet
  • ID subnet
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)

Karena Anda memiliki SUBNET_ID, jalankan perintah berikut ini di jendela Azure Cloud Shell yang sama untuk membuat mesin virtual:

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

Contoh output berikut menunjukkan komputer virtual telah berhasil dibuat dan menampilkan alamat IP publik dari komputer virtual.

13.62.204.18

Sekarang telusuri ke alamat IP publik dari komputer virtual. Anda akan menggunakan alamat ini di langkah berikutnya.

Mengizinkan akses ke komputer virtual

Subnet kumpulan simpul AKS dilindungi dengan NSGs (Grup Keamanan Jaringan) secara default. Untuk mendapatkan akses ke komputer virtual, Anda harus mengaktifkan akses di NSG.

Catatan

NSGs dikendalikan oleh layanan AKS. Setiap perubahan yang Anda lakukan pada NSG akan ditimpa kapan saja oleh sarana kontrol.

Pertama, dapatkan grup sumber daya dan nama NSG untuk menambahkan aturan ke:

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)

Kemudian, buat aturan 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"

Mendapatkan alamat simpul

Untuk mengelola kluster Kubernetes, Anda menggunakan kubectl, klien baris perintah Kubernetes. Jika Anda menggunakan Azure Cloud Shell, kubectl sudah terpasang. Untuk memasang kubectl secara lokal, gunakan perintah az aks install-cli:

az aks install-cli

Untuk mengonfigurasi kubectl agar tersambung ke kluster Kubernetes, gunakan perintah az aks get-credentials. Perintah ini mengunduh informasi masuk dan mengonfigurasi CLI Kube untuk menggunakannya.

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

Daftar alamat IP internal simpul Windows Server menggunakan perintah kubectl get:

kubectl get nodes -o wide

Contoh output berikut ini menunjukkan alamat IP internal dari semua simpul di dalam kluster, termasuk simpul 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

Rekam alamat IP internal dari simpul Windows Server yang ingin Anda pecahkan masalahnya. Anda akan menggunakan alamat ini di langkah berikutnya.

Tersambung ke komputer virtual dan simpul

Sambungkan ke alamat IP publik komputer virtual yang Anda buat sebelumnya menggunakan klien RDP seperti Desktop Jauh Microsoft.

Gambar dari proses menyambungkan ke komputer virtual menggunakan klien RDP

Setelah Anda tersambung ke komputer virtual Anda, sambungkan ke alamat IP internal simpul Windows Server yang ingin Anda pecahkan masalahnya menggunakan klien RDP dari dalam komputer virtual Anda.

Gambar dari proses menyambungkan ke simpul Windows Server menggunakan klien RDP

Saat ini, Anda tersambung ke node Windows Server Anda.

Gambar jendela cmd di simpul Windows Server

Kini Anda dapat menjalankan perintah pemecahan masalah di jendela cmd. Karena simpul Windows Server menggunakan Windows Server Core, tidak ada GUI penuh atau alat GUI lainnya ketika Anda tersambung ke simpul Windows Server melalui RDP.

Menghapus akses RDP

Setelah selesai, keluar dari koneksi RDP ke simpul Windows Server kemudian keluar dari sesi RDP ke komputer virtual. Setelah Anda keluar dari kedua sesi RDP, hapus mesin virtual dengan perintah az vm delete:

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

Hapus IP publik yang terkait dengan mesin virtual:

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

Hapus aturan NSG:

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

Menyambungkan dengan Azure Bastion

Atau, Anda bisa menggunakan Azure Bastion untuk membuat sambungan ke node Windows Server Anda.

Sebarkan Azure Bastion

Untuk menyebarkan Azure Bastion, Anda harus menemukan jaringan virtual yang tersambung dengan kluster AKS Anda.

  1. Di portal Azure, bukalah Jaringan virtual. Pilih jaringan virtual yang tersambung dengan kluster AKS Anda.
  2. Di Pengaturan, pilih Bastion, lalu pilih Sebarkan Bastion. Tunggu hingga proses selesai sebelum melanjutkan ke langkah selanjutnya.

Membuat sambungan ke node Windows Server Anda menggunakan Azure Bastion

Buka grup sumber daya node pada kluster AKS. Jalankan perintah di bawah ini pada Azure Cloud Shell untuk mendapatkan nama grup sumber daya node Anda:

az aks show --name myAKSCluster --resource-group myResourceGroup --query 'nodeResourceGroup' -o tsv
  1. Pilih Gambaran Umum, lalu pilih set skala mesin virtual kumpulan node Windows Anda.
  2. Di bagian Pengaturan, pilih Instans. Pilih node server Windows yang ingin Anda sambungkan.
  3. Di Dukungan + pemecahan masalah, pilih Bastion.
  4. Masukkan informasi masuk yang Anda siapkan ketika kluster AKS dibuat. Pilih Sambungkan.

Kini Anda dapat menjalankan perintah pemecahan masalah di jendela cmd. Karena simpul Windows Server menggunakan Windows Server Core, tidak ada GUI penuh atau alat GUI lainnya ketika Anda tersambung ke simpul Windows Server melalui RDP.

Catatan

Apabila Anda menutup jendela terminal, tekan CTRL + ALT + End, pilih Pengelola Tugas, pilih Detail selengkapnya, pilih File, pilih Jalankan tugas baru, dan masukkan cmd.exe untuk membuka terminal lain. Anda juga bisa keluar dan terhubung kembali dengan Bastion.

Menghapus akses Bastion

Ketika Anda selesai, keluar dari sesi Bastion dan hapus sumber daya Bastion.

  1. Di portal Microsoft Azure, buka Bastion dan pilih sumber daya Bastion yang Anda buat.
  2. Di bagian atas halaman, pilih Hapus. Tunggu hingga proses selesai sebelum melanjutkan ke langkah berikutnya.
  3. Di portal Azure, bukalah Jaringan virtual. Pilih jaringan virtual yang tersambung dengan kluster AKS Anda.
  4. Di Pengaturan, pilih Subnet, dan hapus subnet AzureBastionSubnet yang dibuat untuk sumber daya Bastion.

Langkah berikutnya

Jika Anda memerlukan data pemecahan masalah tambahan, Anda bisa melihat log node utama Kubernetes atau Azure Monitor.