Baca dalam bahasa Inggris

Bagikan melalui


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.

Dukungan versi OS Windows Server

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.

Batasan

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.

Sebelum Anda mulai

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

Menambahkan kumpulan simpul Windows Server 2022 ke kluster yang sudah ada

Memperbarui file YAML

Pemilih Node adalah opsi yang paling umum dan direkomendasikan untuk penempatan pod Windows pada node Windows.

  1. 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
    
  2. 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 mengubah FROM 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 .

Terapkan file YAML yang diperbarui ke beban kerja yang ada

  1. 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
    
  2. 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.

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

Pertimbangan keamanan dan autentikasi

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.

Langkah berikutnya

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