Tanya jawab umum untuk kumpulan simpul Windows Server di AKS

Di Azure Kubernetes Service (AKS), Anda dapat membuat kumpulan simpul yang menjalankan Windows Server sebagai OS tamu pada simpul. Simpul ini dapat menjalankan aplikasi kontainer Windows native, seperti yang dibangun di .NET Framework. Ada perbedaan dalam bagaimana OS Linux dan Windows menyediakan dukungan kontainer. Beberapa Kube Linux umum dan fitur terkait pod saat ini tidak tersedia untuk kumpulan simpul Windows.

Artikel ini menguraikan beberapa tanya jawab umum dan konsep OS untuk simpul Windows Server di AKS.

Jenis disk apa yang didukung untuk Windows?

Azure Disk dan Azure Files adalah jenis volume yang didukung, dan diakses sebagai volume NTFS dalam kontainer Windows Server.

Apakah Linux dan Windows mendukung komputer virtual (VM) generasi 2?

VM Generasi 2 hanya didukung di Linux dan Windows untuk WS2022. Untuk informasi selengkapnya, lihat Dukungan untuk VM generasi 2 di Azure.

Bagaimana cara mem-patching simpul Windows?

Untuk mendapatkan patch terbaru untuk simpul Windows, Anda dapat meningkatkan kumpulan simpul atau meningkatkan citra simpul. Peningkatan Windows tidak difungsikan pada simpul di dalam AKS. AKS merilis citra kumpulan simpul baru segera setelah patch tersedia, dan itu adalah tanggung jawab pengguna untuk meningkatkan kumpulan simpul agar tetap terkini dalam hal patch dan hotfix. Proses patch ini juga berlaku untuk versi Kubernetes yang sedang digunakan. Catatan rilis AKS menunjukkan kapan versi baru tersedia. Untuk informasi selengkapnya tentang peningkatan kumpulan node kluster, lihat Peningkatan kumpulan node di AKS. Jika Anda hanya tertarik untuk memperbarui citra simpul, lihat peningkatan citra simpul AKS.

Catatan

Citra Windows Server yang diperbarui hanya akan digunakan jika peningkatan kluster (peningkatan sarana kontrol) telah dilakukan sebelum meningkatkan kumpulan simpul.

Apakah mempertahankan IP sumber klien didukung?

Saat ini, pemertahanan IP sumber klien tidak didukung dengan simpul Windows.

Dapatkah saya mengubah jumlah maksimum pod per simpul?

Ya. Untuk implikasi pembuatan perubahan dan opsi yang tersedia, lihat Jumlah maksimum pod.

Berapa batas waktu TCP default di OS Windows?

Batas waktu TCP default di OS Windows adalah 4 menit. Nilai ini tidak dapat dikonfigurasi. Ketika aplikasi menggunakan batas waktu yang lebih lama, koneksi TCP antara kontainer yang berbeda dalam simpul yang sama ditutup setelah empat menit.

Mengapa saya melihat kesalahan ketika saya mencoba membuat kumpulan agen Windows baru?

Jika Anda membuat kluster sebelum Februari 2020 dan belum pernah melakukan operasi peningkatan kluster, kluster masih menggunakan citra Windows lama. Anda mungkin telah melihat kesalahan yang menyerupai:

"Daftar citra berikut yang direferensikan dari templat penyebaran tidak ditemukan: Penerbit: MicrosoftWindowsServer, Penawaran: WindowsServer, Sku: 2019-datacenter-core-smalldisk-2004, Versi: terbaru. Lihat Menemukan dan menggunakan citra VM Marketplace Azure dengan Azure PowerShell untuk mengetahui petunjuk cara menemukan citra yang tersedia.

Untuk memperbaiki kesalahan ini:

  1. Tingkatkan sarana kontrol kluster untuk memperbarui penawaran dan penerbit citra.
  2. Buat kumpulan agen Windows baru.
  3. Pindahkan pod Windows dari kumpulan agen Windows yang ada ke kumpulan agen Windows baru.
  4. Hapus kumpulan agen Windows lama.

Mengapa saya melihat kesalahan saat mencoba menyebarkan pod Windows?

Jika Anda menentukan nilai kurang --max-pods dari jumlah pod yang ingin dibuat, Anda mungkin melihat kesalahannya No available addresses .

Untuk memperbaiki kesalahan ini, gunakan az aks nodepool add perintah dengan nilai yang cukup --max-pods tinggi:

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --resource-group $RESOURCE_GROUP \
    --name $NODEPOOL_NAME \
    --max-pods 3

Untuk detail selengkapnya, lihat --max-pods dokumentasi.

Mengapa ada pengguna tak terduga bernama "sshd" pada simpul VM saya?

AKS menambahkan pengguna bernama "sshd" saat menginstal layanan OpenSSH. Pengguna ini tidak berbahaya. Kami menyarankan agar pelanggan memperbarui pemberitahuan mereka untuk mengabaikan akun pengguna yang tidak terduga ini.

Bagaimana cara memutar perwakilan layanan untuk kumpulan simpul Windows saya?

Kumpulan simpul Windows tidak mendukung rotasi perwakilan layanan. Untuk memperbarui perwakilan layanan, buat kumpulan simpul Windows baru dan migrasikan pod dari kumpulan yang lebih lama ke yang baru. Setelah memigrasikan pod ke kumpulan baru, hapus kumpulan simpul yang lama.

Alih-alih perwakilan layanan, gunakan identitas terkelola, yang pada dasarnya adalah wrapper di sekitar perwakilan layanan. Lihat Menggunakan identitas terkelola di Azure Kubernetes Service untuk informasi selengkapnya.

Bagaimana cara mengubah kata sandi administrator untuk simpul Windows Server pada kluster saya?

Saat membuat kluster AKS, Anda menentukan parameter --windows-admin-password dan --windows-admin-username untuk mengatur kredensial administrator untuk setiap simpul Windows Server pada kluster. Jika Anda tidak menentukan informasi masuk administrator saat membuat kluster menggunakan Portal Azure atau saat mengatur --vm-set-type VirtualMachineScaleSets dan --network-plugin azure menggunakan Azure CLI, nama pengguna default azureuser dan kata sandi acak akan digunakan.

Untuk mengubah kata sandi administrator, gunakan perintah az aks update:

az aks update \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --windows-admin-password $NEW_PW

Penting

Melakukan operasi hanya memutakhirkan az aks update kumpulan simpul Windows Server dan akan menyebabkan hidupkan ulang. Kumpulan simpul Linux tidak akan terpengaruh.

Saat mengubah --windows-admin-password, kata sandi baru harus minimal 14 karakter dan memenuhi persyaratan kata sandi Windows Server.

Berapa banyak kumpulan simpul yang dapat saya buat?

Kluster AKS dengan kumpulan simpul Windows tidak memiliki batas sumber daya AKS yang berbeda dari default yang ditentukan untuk layanan AKS. Untuk informasi selengkapnya, lihat Kuota, pembatasan ukuran komputer virtual, dan ketersediaan wilayah di Azure Kubernetes Service (AKS).

Nama apa yang bisa saya berikan untuk kumpulan simpul Windows?

Kumpulan node Windows dapat memiliki nama enam karakter.

Apakah semua fitur didukung dengan simpul Windows?

Kubenet saat ini tidak didukung dengan simpul Windows.

Bisakah saya menjalankan kontroler ingress pada simpul Windows?

Ya, kontroler masuk yang mendukung kontainer Windows Server dapat berjalan pada simpul Windows di AKS.

Bisakah kontainer Windows Server saya menggunakan gMSA?

Dukungan akun layanan terkelola grup (gMSA) umumnya tersedia untuk Windows di AKS. Lihat Mengaktifkan Akun Layanan Terkelola Grup (GMSA) untuk simpul Windows Server di kluster Azure Kubernetes Service (AKS)

Bisakah saya menggunakan Azure Monitor untuk kontainer dengan simpul dan kontainer Windows?

Ya, Anda bisa. Namun, Azure Monitor dalam pratinjau publik untuk mengumpulkan log (stdout, stderr) dan metrik dari kontainer Windows. Anda juga dapat melampirkan ke streaming langsung log stdout dari kontainer Windows.

Apakah ada batasan jumlah layanan pada kluster dengan simpul Windows?

Kluster dengan node Windows dapat memiliki sekitar 500 layanan (terkadang kurang) sebelum mengalami kelelahan port. Batasan ini berlaku untuk Layanan Kubernetes dengan Kebijakan Lalu Lintas Eksternal yang diatur ke "Kluster".

Ketika kebijakan lalu lintas eksternal pada Layanan dikonfigurasi sebagai Kluster, lalu lintas mengalami NAT Sumber tambahan pada simpul yang juga menghasilkan reservasi port dari kumpulan port dinamis TCPIP. Kumpulan port ini adalah sumber daya terbatas (~port 16K secara default) dan banyak koneksi aktif ke Layanan dapat menyebabkan kelelahan kumpulan port dinamis yang mengakibatkan penurunan koneksi.

Jika Layanan Kubernetes dikonfigurasi dengan Kebijakan Lalu Lintas Eksternal diatur ke "Lokal", masalah kelelahan port tidak mungkin terjadi pada 500 layanan.

Bisakah saya menggunakan Azure Hybrid Benefit dengan simpul Windows?

Ya. Azure Hybrid Benefit untuk Windows Server mengurangi biaya pengoperasian dengan memungkinkan Anda membawa lisensi Windows Server lokal Anda ke simpul AKS Windows.

Azure Hybrid Benefit dapat digunakan pada seluruh kluster AKS atau pada simpul individual. Untuk simpul individual, Anda harus menelusuri grup sumber daya simpul dan menerapkan Azure Hybrid Benefit ke simpul secara langsung. Untuk informasi selengkapnya tentang cara menerapkan Azure Hybrid Benefit ke simpul individual, lihat Azure Hybrid Benefit untuk Windows Server.

Untuk menggunakan Keuntungan Azure Hybrid pada kluster AKS baru, jalankan perintah az aks create dan gunakan argumen --enable-ahub.

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --load-balancer-sku Standard \
    --windows-admin-password 'Password1234$' \
    --windows-admin-username azure \
    --network-plugin azure
    --enable-ahub

Untuk menggunakan Keuntungan Azure Hybrid di kluster AKS yang ada, jalankan perintah az aks update dan gunakan perbarui kluster menggunakan argumen --enable-ahub.

az aks update \
    --resource-group myResourceGroup
    --name myAKSCluster
    --enable-ahub

Untuk memeriksa apakah Keuntungan Azure Hybrid diatur pada node Windows di kluster, jalankan perintah az vmss show dengan argumen --name dan --resource-group untuk mengkueri set skala mesin virtual. Untuk mengidentifikasi grup sumber daya set skala untuk kumpulan node Windows yang dibuat, Anda dapat menjalankan perintah az vmss list -o table.

az vmss show --name myScaleSet --resource-group MC_<resourceGroup>_<clusterName>_<region>

Jika node Windows dalam set skala mengaktifkan Keuntungan Azure Hybrid, output az vmss show akan mirip dengan yang berikut ini:

""hardwareProfile": null,
    "licenseType": "Windows_Server",
    "networkProfile": {
      "healthProbe": null,
      "networkApiVersion": null,

Bagaimana cara mengubah zona waktu kontainer yang sedang berjalan?

Untuk mengubah zona waktu kontainer Windows Server yang sedang berjalan, hubungkan ke kontainer yang sedang berjalan dengan sesi PowerShell. Contohnya:

kubectl exec -it CONTAINER-NAME -- powershell

Dalam kontainer yang sedang berjalan, gunakan Set-TimeZone untuk mengatur zona waktu kontainer yang sedang berjalan. Contohnya:

Set-TimeZone -Id "Russian Standard Time"

Untuk melihat zona waktu saat ini dari kontainer yang sedang berjalan atau daftar zona waktu yang tersedia, gunakan Get-TimeZone.

Dapatkah saya mempertahankan afinitas sesi dari koneksi klien ke pod dengan kontainer Windows?

Meskipun mempertahankan afinitas sesi dari koneksi klien ke pod dengan kontainer Windows akan didukung dalam versi OS Windows Server 2022, Anda dapat mencapai afinitas sesi oleh IP klien saat ini dengan membatasi pod yang Anda inginkan untuk menjalankan satu instans per simpul dan mengonfigurasi layanan Kube Anda untuk mengarahkan lalu lintas ke pod di simpul lokal.

Gunakan pengaturan konfigurasi berikut:

  1. Gunakan kluster AKS yang menjalankan versi minimum 1.20.
  2. Batasi pod Anda untuk memungkinkan hanya satu instans per node Windows. Anda dapat mencapainya menggunakan anti-afinitas dalam konfigurasi penyebaran Anda.
  3. Dalam konfigurasi layanan Kube Anda, atur externalTrafficPolicy=Local. Hal ini akan memastikan layanan Kube hanya mengarahkan lalu lintas ke pod dalam simpul lokal.
  4. Dalam konfigurasi layanan Kube Anda, atur sessionAffinity: ClientIP. Hal ini akan memastikan Azure Load Balancer dikonfigurasi dengan afinitas sesi.

Langkah berikutnya

Untuk mulai menggunakan kontainer Windows Server di AKS, lihat Membuat kumpulan simpul yang menjalankan Windows Server di AKS.