全部产品
Search
文档中心

Container Compute Service:Catatan Rilis Kubernetes 1.28

更新时间:Jun 28, 2025

Container Service for Kubernetes (ACK) secara ketat mematuhi ketentuan Program Sertifikasi Konformitas Kubernetes. Topik ini menjelaskan pembaruan dalam Kubernetes 1.28, termasuk catatan pembaruan, perubahan besar, fitur baru, fitur dan API yang ditinggalkan, serta gerbang fitur.

Pembaruan versi

Komponen utama berikut diperbarui dan dioptimalkan oleh Alibaba Cloud Container Compute Service (ACS) untuk mendukung Kubernetes 1.28.

Komponen utama

Versi

Kubernetes

v1.28.3-aliyunacs.2

etcd

v3.5.9

CoreDNS

v1.9.3.10-7dfca203-aliyun

CRI

containerd 1.6.22.1-20240524143336

CSI

v1.30.1-1.acs-685ce77-aliyun

CNI

Terway 1.5.0 dan yang lebih baru, serta TerwayControlplane 1.5.0 dan yang lebih baru

Catatan pembaruan

Komponen

Deskripsi

Plug-in volume CephFS dan Ceph RBD

Jika klaster Anda menggunakan plug-in volume CephFS dan Ceph RBD, Anda perlu memeriksa apakah plug-in tersebut menggunakan driver off-tree alih-alih driver plug-in yang disediakan oleh Kubernetes. Anda juga perlu memeriksa kompatibilitas, stabilitas, dan kinerja driver off-tree.

Istilah

Sebelum membaca topik ini, kami menyarankan Anda mempelajari istilah berikut:

Gerbang Fitur

Gerbang fitur digunakan untuk menggambarkan tahap perkembangan fitur. Dalam kebanyakan kasus, sebuah fitur dapat berada di salah satu tahap berikut:

  • Alpha: Secara default, fitur dinonaktifkan.

  • Beta: Secara default, fitur diaktifkan.

  • GA: Secara default, fitur diaktifkan dan tidak dapat dinonaktifkan. Gerbang fitur terkait tidak lagi diperlukan.

Perubahan besar

  • Logika penjadwalan scheduler dioptimalkan di Kubernetes 1.28 untuk mengurangi percobaan ulang yang tidak valid dan meningkatkan kinerja.

    Jika klaster Anda menggunakan plug-in scheduler kustom, kami menyarankan Anda mengoptimalkan dan memperbarui plug-in tersebut untuk meningkatkan kinerja. Untuk informasi lebih lanjut, lihat Perubahan dalam Kerangka Penjadwalan.

  • Komunitas Kubernetes menyediakan solusi migrasi CSI untuk menggantikan driver plug-in penyimpanan in-tree dengan driver off-tree yang menggunakan API CSI standar. Fitur migrasi CSI mencapai tahap GA di Kubernetes 1.25. API storage.k8s.io/v1beta1 dan Elastic Block Service (EBS) plug-in dihapus di Kubernetes 1.27. Kode plug-in volume CephFS dihapus dan kubernetes.io/rbd ditinggalkan di Kubernetes 1.28. Sebagai gantinya, gunakan CephFS CSI driver. Selain itu, Anda tidak dapat lagi memigrasi volume Ceph RBD ke plug-in yang menggunakan driver CSI off-tree di Kubernetes 1.28.

  • Kerentanan CVE berikut diperbaiki di 1.28.9-aliyun.1:

    • CVE-2023-45288

    • CVE-2024-3177

    • CVE-2024-24786

Fungsi dan fitur

Kubernetes 1.28

  • Fitur shutdown node non-graceful telah mencapai GA. Ketika sebuah node dimatikan karena pengecualian seperti kekurangan daya, StatefulSet perlu membuat pod dengan nama yang sama di node lain untuk menghindari gangguan bisnis.

  • Gerbang fitur NodeOutOfServiceVolumeDetach telah mencapai GA. Setelah fitur ini diaktifkan, ketika sebuah node dimatikan karena pengecualian, operasi detach volume segera dilakukan untuk pod yang dihentikan pada node tersebut. Ini memungkinkan pod pada node yang tidak berfungsi pulih dengan cepat di node lain.

  • Fitur penugasan StorageClass default retroaktif telah mencapai GA. Sebelum fitur ini diperkenalkan, jika Anda membuat PVC tanpa bidang storageClassName saat tidak ada StorageClass default, PVC tetap dalam status Pending. Setelah fitur ini diperkenalkan, ketika StorageClass default dibuat, PVC tanpa bidang storageClassName secara otomatis menggunakan StorageClass default.

  • Dua fitur diperkenalkan untuk menghindari kegagalan Job:

    • Dibandingkan dengan gerbang fitur deletionTimestamp yang membuat pod pengganti segera setelah pod dihapus, gerbang fitur JobPodReplacementPolicy (dalam tahap Alpha) membuat pod pengganti hanya setelah pod diberi fase Failed (status.phase: Failed). Kebijakan ini mencegah dua pod menggunakan indeks dan sumber daya node yang sama pada waktu bersamaan.

    • Gerbang fitur JobBackoffLimitPerIndex (dalam tahap Alpha) memungkinkan Anda menyetel .spec.backoffLimitPerIndex untuk membatasi jumlah maksimum percobaan ulang untuk kegagalan pod per indeks. Sebelum fitur ini diperkenalkan, jika jumlah kegagalan pod berturut-turut dari suatu indeks mencapai .spec.backoffLimit, Job terindeks yang sesuai gagal.

  • Jika bidang completion dari Job terindeks diatur ke nilai lebih besar dari 100.000, bidang parallelism dari Job diatur ke nilai lebih besar dari 10.000, dan sejumlah besar pod gagal, pelacakan fase terminal pod mungkin gagal. Untuk mencegah masalah ini, peringatan ditampilkan jika Anda mengatur bidang-bidang sebelumnya ke nilai yang terlalu besar saat membuat Job.

  • Bidang reason dan fieldPath ditambahkan ke aturan validasi CustomResourceDefinition (CRD) untuk mengembalikan alasan dan jalur bidang ketika validasi CRD gagal. Untuk informasi lebih lanjut, lihat Bahasa Ekspresi Validasi CRD.

  • Ekspresi Common Expression Language (CEL) dapat digunakan dalam permintaan pencocokan webhook. Hingga 64 kondisi pencocokan didukung. Untuk informasi lebih lanjut, lihat Pencocokan Permintaan: matchConditions.

  • Gerbang fitur SidecarContainers diperkenalkan untuk memungkinkan Anda menentukan waktu peluncuran kontainer sidecar. Misalnya, Anda dapat meluncurkan kontainer pengumpulan log sebelum kontainer lain untuk meningkatkan keandalan pengumpulan log. Untuk informasi lebih lanjut, lihat Kubernetes v1.28: Memperkenalkan Kontainer Sidecar Asli. Fitur ini telah mencapai Alpha di Kubernetes 1.28 dan dinonaktifkan secara default.

  • Bidang .status.resizeStatus dari PVC diganti dengan bidang peta .status.allocatedResourceStatus untuk menyimpan status sumber daya yang sedang diubah ukurannya untuk PVC. Untuk informasi lebih lanjut, lihat PersistentVolumeClaimStatus.

  • Indeks pod (nomor urutan) ditambahkan sebagai label ke pod yang dibuat oleh Job terindeks dan StatefulSets.

  • Gerbang fitur ValidatingAdmissionPolicy (dalam tahap Beta) menyediakan alternatif deklaratif untuk metode validasi admission webhooks untuk memvalidasi permintaan sumber daya. Gerbang fitur ini juga memungkinkan Anda menggunakan ekspresi CEL untuk menulis aturan validasi kompleks. Server API akan memvalidasi permintaan sumber daya terhadap ekspresi CEL.

  • Bendera --concurrent-cron-job-syncs ditambahkan ke Kubernetes controller manager untuk menyetel konkurensi kontroler CronJob dan bendera --concurrent-job-syncs ditambahkan untuk menyetel konkurensi kontroler Job. Untuk informasi lebih lanjut, lihat --concurrent-cron-job-syncs dan --concurrent-job-syncs.

  • Server API dioptimalkan:

    • Penggunaan memori untuk mendapatkan daftar (GetList) dari cache dikurangi. Untuk informasi lebih lanjut, lihat Data Uji GetList.

    • Masalah bahwa titik akhir Kubernetes Service tidak dihapus ketika hanya ada satu server API replikasi diperbaiki. Ini memastikan bahwa titik akhir Kubernetes Services dihapus selama shutdown yang aman.

    • Controller OpenAPI v2 dibuat lambat untuk mengumpulkan informasi dari CRD dan spesifikasi OpenAPI v2 dikurangi. Ketika tidak ada klien yang mengirim permintaan ke OpenAPI v2, penggunaan CPU dan memori server API dikurangi. Selain itu, efisiensi instalasi sejumlah besar CRD ditingkatkan. Namun, ini memperlambat pemrosesan permintaan pertama kali. Kami menyarankan Anda memperbarui klien Anda ke versi yang mendukung OpenAPI v3.

    • Gerbang fitur Bacaan Konsisten dari Cache diperkenalkan untuk memungkinkan Anda menggunakan watch cache untuk menjamin pembacaan konsisten untuk permintaan LIST.

    • Berbagai metrik dapat dikumpulkan dengan memanggil API metrik.

Fitur yang ditinggalkan

Kubernetes 1.28

  • Kode plug-in in-tree CephFS dihapus.

    Kami menyarankan Anda menggunakan CephFS CSI driver.

  • Dukungan untuk memigrasi volume Ceph RBD ke plug-in yang menggunakan driver CSI off-tree ditinggalkan dan akan dihapus di versi mendatang.

    Kami menyarankan Anda menyelesaikan migrasi sebelum penghapusan kode plug-in in-tree.

  • Plug-in volume RBD (kubernetes.io/rbd) ditinggalkan dan akan dihapus di versi mendatang.

    Kami menyarankan Anda menggunakan CephFS CSI driver.

  • KMSv1 ditinggalkan. Jika Anda ingin terus menggunakan KMSv1, atur --feature-gates=KMSv1=true. Untuk informasi lebih lanjut, lihat Tandai KMS v1beta1 sebagai ditinggalkan tanpa perbaikan lebih lanjut.

    Kami menyarankan Anda menggunakan KMSv2.

  • Bendera --volume-host-cidr-denylist dan --volume-host-allow-local-loopback dalam perintah Kubernetes controller manager ditinggalkan.

  • Bendera --azure-container-registry-config dalam perintah kubelet ditinggalkan.

    Kami menyarankan Anda menggunakan bendera image-credential-provider-config dan --image-credential-provider-bin-dir.

  • Anda tidak dapat lagi membuat pool node Windows.

API yang ditinggalkan

API CSIStorageCapacity memungkinkan Anda meminta kapasitas penyimpanan tersedia saat ini untuk memastikan bahwa pod Anda dijadwalkan ke node dengan sumber daya penyimpanan yang cukup. Versi API storage.k8s.io/v1beta1 ditinggalkan di Kubernetes 1.24 dan dihapus di Kubernetes 1.27.

Kami menyarankan Anda menggunakan versi storage.k8s.io/v1. Versi ini tersedia di Kubernetes 1.24 dan versi berikutnya. Untuk informasi lebih lanjut, lihat KEP Batasan Kapasitas Penyimpanan untuk Penjadwalan Pod.

Gerbang fitur

Bagian ini hanya mencantumkan perubahan besar. Untuk informasi lebih lanjut, lihat Gerbang Fitur.

Kubernetes 1.28

  • Ketika gerbang fitur NodeOutOfServiceVolumeDetach menambahkan taint node.kubernetes.io/out-of-service untuk menandai node sebagai tidak berfungsi, pod yang tidak cocok dengan toleransi pada node dipaksa keluar dan volume segera dilepas. Gerbang fitur ini telah mencapai GA di Kubernetes 1.28 dan selalu diaktifkan secara default.

  • Gerbang fitur AdmissionWebhookMatchCondition diaktifkan secara default untuk memungkinkan Anda menggunakan ekspresi CEL sebagai kondisi pencocokan webhook.

  • Gerbang fitur UnknownVersionInteroperabilityProxy telah mencapai Alpha. Gerbang fitur ini dapat mengirim permintaan ke server API yang benar ketika beberapa versi server API ada. Untuk informasi lebih lanjut, lihat Proksi Versi Campuran.

  • Gerbang fitur IPTablesOwnershipCleanup telah mencapai GA. Gerbang fitur ini menyebabkan kubelet tidak lagi membuat aturan iptables KUBE-MARK-DROP dan KUBE-MARK-MASQ.

  • Gerbang fitur ConsistentListFromCache telah mencapai Alpha. Gerbang fitur ini memungkinkan server API menggunakan watch cache untuk menjamin pembacaan konsisten untuk permintaan LIST.

  • Gerbang fitur ProbeTerminationGracePeriod telah mencapai GA dan diaktifkan secara default. Gerbang fitur ini memungkinkan Anda menggunakan probe-level terminationGracePeriodSeconds.

  • Gerbang fitur berikut dalam tahap GA dihapus: DelegateFSGroupToCSIDriver, DevicePlugins, KubeletCredentialProviders, MixedProtocolLBService, ServiceInternalTrafficPolicy, ServiceIPStaticSubrange, dan EndpointSliceTerminatingCondition.

Referensi

Untuk informasi lebih lanjut tentang catatan rilis untuk Kubernetes 1.27 dan Kubernetes 1.28, lihat CHANGELOG-1.27 dan CHANGELOG-1.28.