Tingkatkan versi OS untuk beban kerja Windows Azure Kubernetes Service (AKS) Anda
Saat meningkatkan versi OS dari beban kerja Windows yang sedang berjalan di Azure Kubernetes Service (AKS), Anda perlu menyebarkan kumpulan simpul baru untuk memastikan versi Windows cocok pada setiap kumpulan simpul. Artikel ini menjelaskan langkah-langkah untuk meningkatkan versi OS untuk beban kerja Windows di AKS. Meskipun contoh ini berfokus pada peningkatan dari Windows Server 2019 ke Windows Server 2022, proses yang sama dapat diikuti untuk meningkatkan dari versi Windows Server apa pun ke versi lain.
Ketika versi baru sistem operasi Windows Server dirilis, AKS berkomitmen untuk mendukungnya dan merekomendasikan Anda meningkatkan ke versi terbaru untuk memanfaatkan perbaikan, peningkatan, dan fungsionalitas baru. AKS menyediakan siklus hidup dukungan lima tahun untuk setiap versi Windows Server, dimulai dengan Windows Server 2022. Selama periode ini, AKS akan merilis versi baru yang mendukung versi OS Windows Server yang lebih baru untuk Anda tingkatkan.
Catatan
- Windows Server 2019 sedang dihentikan setelah Kubernetes versi 1.32 mencapai akhir masa pakai (EOL). Untuk informasi selengkapnya, lihat Catatan rilis AKS.
- Windows Server 2022 sedang dihentikan setelah Kubernetes versi 1.34 mencapai akhir masa pakainya (EOL). Untuk informasi selengkapnya, lihat Catatan rilis AKS.
Windows Server 2019 dan Windows Server 2022 tidak dapat hidup berdampingan pada kumpulan simpul yang sama pada AKS. Anda perlu membuat kumpulan simpul baru untuk menghosting versi OS baru. Penting bahwa Anda mencocokkan izin dan akses kumpulan node sebelumnya dengan yang baru.
FROM
Perbarui pernyataan di Dockerfile Anda ke versi OS baru.- Periksa aplikasi Anda dan verifikasi bahwa aplikasi kontainer berfungsi pada versi OS baru.
- Sebarkan aplikasi kontainer terverifikasi di AKS ke lingkungan pengembangan atau pengujian.
- Catat nama atau tag gambar baru untuk digunakan dalam artikel ini.
Catatan
Untuk mempelajari cara membuat Dockerfile untuk beban kerja Windows, lihat Dockerfile di Windows dan Mengoptimalkan Dockerfiles Windows.
- Tambahkan kumpulan simpul Windows Server 2022 ke kluster yang ada.
Pemilih Node adalah opsi yang paling umum dan direkomendasikan untuk penempatan pod Windows pada node Windows.
Tambahkan Pemilih Simpul ke file YAML Anda dengan menambahkan anotasi berikut:
nodeSelector: "kubernetes.io/os": windows
Anotasi menemukan simpul Windows yang tersedia dan menempatkan pod pada simpul tersebut (mengikuti semua aturan penjadwalan lainnya). Saat memutakhirkan dari Windows Server 2019 ke Windows Server 2022, Anda perlu menerapkan penempatan pada simpul Windows dan simpul yang menjalankan versi OS terbaru. Untuk mencapai hal ini, salah satu opsinya adalah menggunakan anotasi yang berbeda:
nodeSelector: "kubernetes.azure.com/os-sku": Windows2022
Setelah memperbarui
nodeSelector
dalam file YAML, Anda juga perlu memperbarui gambar kontainer yang ingin Anda gunakan. Anda bisa mendapatkan informasi ini dari langkah sebelumnya di mana Anda membuat versi baru aplikasi kontainer dengan mengubahFROM
pernyataan di Dockerfile Anda.
Catatan
Anda harus menggunakan file YAML yang sama dengan yang Anda gunakan untuk awalnya menyebarkan aplikasi. Ini memastikan bahwa tidak ada perubahan konfigurasi lain selain nodeSelector
gambar kontainer dan .
Lihat simpul pada kluster Anda menggunakan
kubectl get nodes
perintah .kubectl get nodes -o wide
Contoh output berikut menunjukkan semua simpul pada kluster, termasuk kumpulan simpul baru yang Anda buat dan kumpulan simpul yang ada:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME aks-agentpool-18877473-vmss000000 Ready agent 5h40m v1.23.8 10.240.0.4 <none> Ubuntu 18.04.6 LTS 5.4.0-1085-azure containerd://1.5.11+azure-2 akspoolws000000 Ready agent 3h15m v1.23.8 10.240.0.208 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akspoolws000001 Ready agent 3h17m v1.23.8 10.240.0.239 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akspoolws000002 Ready agent 3h17m v1.23.8 10.240.1.14 <none> Windows Server 2022 Datacenter 10.0.20348.825 containerd://1.6.6+azure akswspool000000 Ready agent 5h37m v1.23.8 10.240.0.115 <none> Windows Server 2019 Datacenter 10.0.17763.3165 containerd://1.6.6+azure akswspool000001 Ready agent 5h37m v1.23.8 10.240.0.146 <none> Windows Server 2019 Datacenter 10.0.17763.3165 containerd://1.6.6+azure akswspool000002 Ready agent 5h37m v1.23.8 10.240.0.177 <none> Windows Server 2019 Datacenter 10.0.17763.3165 containerd://1.6.6+azure
Terapkan file YAML yang diperbarui ke beban kerja yang ada menggunakan
kubectl apply
perintah dan tentukan nama file YAML.kubectl apply -f <filename>
Contoh output berikut menunjukkan status yang dikonfigurasi untuk penyebaran:
deployment.apps/sample configured service/sample unchanged
Pada titik ini, AKS memulai proses penghentian pod yang ada dan menyebarkan pod baru ke simpul Windows Server 2022.
Periksa status penyebaran menggunakan
kubectl get pods
perintah .kubectl get pods -o wide
Contoh output berikut menunjukkan pod di
default
namespace:NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES sample-7794bfcc4c-k62cq 1/1 Running 0 2m49s 10.240.0.238 akspoolws000000 <none> <none> sample-7794bfcc4c-rswq9 1/1 Running 0 2m49s 10.240.1.10 akspoolws000001 <none> <none> sample-7794bfcc4c-sh78c 1/1 Running 0 2m49s 10.240.0.228 akspoolws000000 <none> <none>
Jika Anda menggunakan Akun Layanan Terkelola Grup (gMSA), Anda perlu memperbarui konfigurasi Identitas Terkelola untuk kumpulan simpul baru. gMSA menggunakan rahasia (akun pengguna dan kata sandi) sehingga simpul yang menjalankan pod Windows dapat mengautentikasi kontainer terhadap ID Microsoft Entra. Untuk mengakses rahasia tersebut di Azure Key Vault, node menggunakan Identitas Terkelola yang memungkinkan node mengakses sumber daya. Karena Identitas Terkelola dikonfigurasi per node simpul, dan pod sekarang berada di kumpulan node baru, Anda perlu memperbarui konfigurasi tersebut. Untuk informasi selengkapnya, lihat Mengaktifkan Akun Layanan Terkelola Grup (GMSA) untuk simpul Windows Server di kluster Azure Kubernetes Service (AKS).
Prinsip yang sama berlaku untuk Identitas Terkelola untuk pod atau kumpulan simpul lainnya saat mengakses sumber daya Azure lainnya. Anda perlu memperbarui akses apa pun yang disediakan Identitas Terkelola untuk mencerminkan kumpulan simpul baru. Untuk melihat aktivitas pembaruan dan masuk, lihat Cara melihat aktivitas Identitas Terkelola.
Dalam artikel ini, Anda mempelajari cara meningkatkan versi OS untuk beban kerja Windows di AKS. Untuk mempelajari selengkapnya tentang beban kerja Windows di AKS, lihat Menyebarkan aplikasi kontainer Windows di Azure Kubernetes Service (AKS).
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: