All Products
Search
Document Center

Container Compute Service:Catatan rilis Kubernetes 1.28

Last Updated:Jun 05, 2026

Alibaba Cloud Container Compute Service (ACS) adalah platform bersertifikasi yang sesuai dengan standar Kubernetes. Topik ini menjelaskan perubahan utama dalam Kubernetes 1.28, termasuk pertimbangan upgrade, perubahan utama, fitur baru, fitur dan API yang ditinggalkan, serta feature gate.

Versi komponen

Tabel berikut mencantumkan versi komponen utama untuk kluster ACS.

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 dan TerwayControlplane v1.5.0 atau lebih baru

Pertimbangan upgrade

Komponen

Pertimbangan

Plugin volume penyimpanan CephFS dan Ceph RBD

Jika kluster Anda menggunakan plugin volume CephFS atau Ceph RBD, migrasikan ke driver out-of-tree dan evaluasi risiko terkait kompatibilitas, stabilitas, atau kinerja.

Konsep utama

Sebelum mempelajari perubahan fitur dan fitur yang ditinggalkan dalam versi Kubernetes ini, Anda mungkin perlu memahami konsep berikut.

Feature gates

Feature gate menggambarkan tahap siklus hidup suatu fitur. Fitur berkembang melalui tiga tahap utama:

  • Alpha: Dinonaktifkan secara default.

  • Beta: Diaktifkan secara default.

  • GA: Diaktifkan secara permanen dan tidak dapat dinonaktifkan. Feature gate terkait tidak lagi diperlukan.

Perubahan utama

  • Kubernetes v1.28 mengoptimalkan logika penjadwalan untuk mengurangi percobaan ulang yang tidak perlu, sehingga meningkatkan kinerja penjadwal secara keseluruhan.

    Jika Anda menggunakan plugin penjadwal kustom, perbarui plugin tersebut untuk meningkatkan kinerja. Untuk informasi lebih lanjut, lihat Perubahan dalam framework penjadwalan.

  • Untuk migrasi CSI, komunitas Kubernetes terus memindahkan plugin penyimpanan in-tree ke driver out-of-tree yang mengimplementasikan standar CSI. Migrasi CSI mencapai GA pada v1.25. Pada v1.27, API storage.k8s.io/v1beta1 dan plugin penyimpanan EBS in-tree dihapus. Pada v1.28, kode plugin volume CephFS in-tree dihapus, plugin kubernetes.io/rbd ditinggalkan, dan Anda harus beralih ke driver CSI CephFS.

  • Kerentanan CVE berikut telah diperbaiki dalam versi 1.28.9-aliyun.1:

    • CVE-2023-45288

    • CVE-2024-3177

    • CVE-2024-24786

Fitur baru

Dalam Kubernetes v1.28

  • Fitur non-graceful node shutdown kini Tersedia Umum (GA). Jika sebuah node dimatikan secara tak terduga (misalnya karena pemadaman listrik), aplikasi berstatus akan dimulai ulang pada node yang sehat, sehingga memastikan kelangsungan layanan.

  • Feature gate NodeOutOfServiceVolumeDetach kini GA. Fitur ini memungkinkan volume dilepas segera dari Pod yang dihentikan pada node abnormal, sehingga dapat pulih dengan cepat di node lain.

  • Penugasan StorageClass default retroaktif kini tersedia umum. Sebelumnya, jika PVC tanpa storageClassName yang ditentukan sudah ada sebelum StorageClass default dibuat, PVC tersebut akan tetap dalam status pending selamanya. Dengan pembaruan ini, setelah StorageClass default dibuat, semua PVC tanpa storageClassName yang ditentukan akan diperbarui secara otomatis untuk menggunakan StorageClass default.

  • Dua fitur baru diperkenalkan untuk menangani kegagalan Job:

    • JobPodReplacementPolicy (feature gate Alpha) memastikan bahwa Pod pengganti hanya dibuat setelah Pod asli memasuki fase Failed (status.phase: Failed). Ini berbeda dari perilaku sebelumnya di mana Pod dengan deletionTimestamp akan segera diganti, yang dapat menyebabkan dua Pod bersaing untuk indeks dan sumber daya node yang sama.

    • JobBackoffLimitPerIndex (feature gate Alpha) memungkinkan Anda menetapkan batas percobaan ulang untuk indeks tertentu dalam Indexed Job dengan menggunakan bidang .spec.backoffLimitPerIndex. Hal ini mencegah seluruh Job gagal ketika satu indeks terus-menerus gagal dan mencapai .spec.backoffLimit global.

  • Jika Indexed Job dikonfigurasi dengan jumlah penyelesaian (completion) lebih dari 100.000 dan paralelisme (parallelism) lebih dari 10.000, Anda mungkin tidak dapat melacak status penghentian Job ketika sejumlah besar Pod gagal. Oleh karena itu, pesan peringatan akan ditampilkan jika parameter diatur terlalu tinggi saat Anda membuat Job.

  • Aturan validasi CRD kini mencakup bidang reason dan fieldPath, sehingga kegagalan validasi dapat mengembalikan alasan dan path bidang yang spesifik. Untuk informasi lebih lanjut, lihat CRD Validation Expression Language.

  • Filtering permintaan webhook kini mendukung ekspresi CEL, dengan maksimal 64 kondisi pencocokan. Untuk informasi lebih lanjut, lihat Matching requests: matchConditions.

  • Feature gate SidecarContainers yang baru menambahkan dukungan native untuk kontainer sidecar dan memungkinkan Anda mengoptimalkan urutan startup kontainer. Misalnya, kontainer sidecar logging dapat dimulai sebelum kontainer lain untuk meningkatkan keandalan pengumpulan log. Untuk informasi lebih lanjut, lihat Kubernetes v1.28: Memperkenalkan kontainer sidecar native. Fitur ini berada dalam tahap Alpha pada v1.28 dan dinonaktifkan secara default.

  • Bidang .status.resizeStatus dalam PVC digantikan oleh peta .status.allocatedResourceStatus, yang menunjukkan status operasi ubah ukuran PVC. Untuk informasi lebih lanjut, lihat PersistentVolumeClaimStatus.

  • Pod yang dikelola oleh Indexed Job dan StatefulSet kini mencakup label indeks Pod.

  • ValidatingAdmissionPolicy (dalam Beta) menyediakan cara deklaratif untuk memvalidasi permintaan resource sebagai alternatif dari penerapan validating admission webhook. Fitur ini mendukung aturan validasi kompleks yang ditulis dalam ekspresi CEL. Server API memvalidasi permintaan terhadap ekspresi CEL dan hanya menyetujui permintaan yang lulus evaluasi.

  • Kube Controller Manager menambahkan flag --concurrent-cron-job-syncs untuk mengonfigurasi konkurensi controller CronJob dan flag --concurrent-job-syncs untuk controller Job. Untuk informasi lebih lanjut, lihat --concurrent-cron-job-syncs dan --concurrent-job-syncs.

  • Server API mencakup optimasi berikut:

    • Konsumsi memori untuk operasi GetList dari cache ditingkatkan. Untuk informasi lebih lanjut, lihat GetList test data.

    • Selama shutdown yang mulus, Titik Akhir Layanan Kubernetes kini dihapus dengan benar, bahkan jika hanya tersisa satu replika server API.

    • Controller OpenAPI v2 diatur untuk mengumpulkan informasi CRD secara lazy, dan spesifikasi OpenAPI v2 dikurangi secara signifikan. Jika tidak ada klien yang meminta OpenAPI v2, hal ini mengurangi konsumsi CPU dan memori server API serta meningkatkan kinerja saat Anda menginstal banyak CRD. Namun, permintaan klien pertama akan lebih lambat. Kami merekomendasikan agar Anda meningkatkan klien untuk mendukung OpenAPI v3.

    • Feature gate baru Consistent Reads from Cache memungkinkan permintaan List dilayani dari watch cache dengan konsistensi penuh.

    • Lebih banyak metrik pemantauan tersedia melalui endpoint metrik.

Fitur yang ditinggalkan

Dalam Kubernetes v1.28

  • Kode plugin volume CephFS in-tree telah dihapus.

    Kami merekomendasikan menggunakan driver CSI CephFS sebagai gantinya.

  • Plugin volume RBD (kubernetes.io/rbd) ditinggalkan dan akan dihapus pada versi mendatang.

    Kami merekomendasikan agar Anda menggunakan driver CSI CephFS sebagai gantinya.

  • KMSv1 ditinggalkan. Untuk terus menggunakan KMSv1, Anda harus menyetel flag --feature-gates=KMSv1=true. Untuk informasi lebih lanjut, lihat Tandai KMS v1beta1 sebagai ditinggalkan.

    Kami merekomendasikan menggunakan KMSv2.

  • Flag startup Kube Controller Manager --volume-host-cidr-denylist dan --volume-host-allow-local-loopback ditinggalkan.

  • Flag kubelet --azure-container-registry-config ditinggalkan.

    Kami merekomendasikan menggunakan flag --image-credential-provider-config dan --image-credential-provider-bin-dir sebagai gantinya.

  • Membuat node pool Windows tidak lagi didukung.

API yang ditinggalkan

API CSIStorageCapacity mengekspos kapasitas penyimpanan yang tersedia untuk memastikan bahwa Pod dijadwalkan pada node dengan kapasitas penyimpanan yang cukup. Versi API storage.k8s.io/v1beta1 dari CSIStorageCapacity ditinggalkan pada v1.24 dan dihapus pada v1.27.

Kami merekomendasikan agar Anda menggunakan storage.k8s.io/v1, yang telah tersedia sejak v1.24. Untuk informasi lebih lanjut, lihat Storage Capacity Constraints for Pod Scheduling KEP.

Feature gates

Bagian ini hanya mencantumkan perubahan utama. Untuk informasi lebih lanjut, lihat Feature Gates.

Dalam Kubernetes v1.28

  • NodeOutOfServiceVolumeDetach: Ketika sebuah node ditandai sebagai out-of-service dengan taint node.kubernetes.io/out-of-service, Pod yang tidak mentoleransi taint ini akan dihapus secara paksa, dan volumenya segera dilepas. Feature gate ini GA pada v1.28 dan selalu diaktifkan.

  • AdmissionWebhookMatchCondition: Diaktifkan secara default, fitur ini memungkinkan webhook menggunakan ekspresi CEL dalam kondisi pencocokannya.

  • UnknownVersionInteroperabilityProxy: Fitur ini berada dalam tahap Alpha. Fitur ini meneruskan permintaan ke server API yang tepat ketika terdapat beberapa versi server API. Untuk informasi lebih lanjut, lihat Mixed Version Proxy.

  • IPTablesOwnershipCleanup: Fitur ini GA. Kubelet tidak lagi membuat rantai iptables KUBE-MARK-DROP dan KUBE-MARK-MASQ.

  • ConsistentListFromCache: Fitur ini berada dalam tahap Alpha. Fitur ini memungkinkan server API melayani permintaan List dari watch cache dengan konsistensi penuh.

  • ProbeTerminationGracePeriod: Fitur ini GA dan diaktifkan secara default. Fitur ini memungkinkan Anda menyetel terminationGracePeriodSeconds tingkat probe.

  • Beberapa feature gate yang telah naik ke GA telah dihapus, termasuk DelegateFSGroupToCSIDriver, DevicePlugins, KubeletCredentialProviders, MixedProtocolLBService, ServiceInternalTrafficPolicy, ServiceIPStaticSubrange, dan EndpointSliceTerminatingCondition.

Referensi

Untuk changelog lengkap Kubernetes v1.27 dan v1.28, lihat CHANGELOG-1.27 dan CHANGELOG-1.28.