All Products
Search
Document Center

Container Service for Kubernetes:(Dihentikan) Catatan rilis ACK untuk Kubernetes 1.22

Last Updated:Mar 25, 2026

Alibaba Cloud Container Service for Kubernetes (ACK) adalah platform bersertifikasi yang sesuai dengan standar Kubernetes. Catatan rilis ini menjelaskan perubahan yang diperkenalkan dalam rilis Kubernetes 1.22 di ACK.

Peningkatan

ACK menyediakan peningkatan dan optimalisasi komponen untuk Kubernetes 1.22.

Komponen utama

Versi

Catatan peningkatan

Kubernetes

1.22.15-aliyun.1

  • Kubernetes 1.22 menghapus beberapa API beta yang telah ditinggalkan. Sebelum meningkatkan kluster Anda, tinjau hal berikut:

    • Resource yang sudah ada yang dibuat menggunakan API beta tidak terpengaruh oleh peningkatan ini. Setelah peningkatan, Anda harus menggunakan versi API stabil untuk mengelola resource tersebut.

    • Controller atau aplikasi yang berinteraksi dengan API beta yang dihapus harus diperbarui sebelum Anda meningkatkan kluster. Jika tidak, fungsinya mungkin gagal setelah peningkatan. Untuk informasi lebih lanjut, lihat Perubahan utama di Kubernetes 1.22.

  • Kubernetes 1.22 mencakup berbagai optimalisasi. Untuk informasi lebih lanjut, lihat Perubahan utama di Kubernetes 1.22.

  • Dockershim mulai ditinggalkan sejak Kubernetes 1.20 dan dijadwalkan untuk dihapus di Kubernetes 1.24, meskipun masih tersedia pada versi ini. Ikuti panduan berikut untuk beralih:

    • Sebelum meningkatkan ke Kubernetes 1.24, migrasikan node Anda dari runtime kontainer Docker ke containerd menggunakan fitur peningkatan kelompok node. Untuk informasi lebih lanjut, lihat Mengubah runtime kontainer dari Docker ke containerd. Untuk klaster khusus, node master secara otomatis bermigrasi dari Docker ke containerd selama peningkatan klaster. Semua kontainer pada node master akan dibuat ulang selama proses ini. Jika Anda memiliki kontainer kustom yang memerlukan persistensi data, lakukan backup sebelum peningkatan.

    • Karena keterbatasan fungsional containerd pada Windows, kami menyarankan agar Anda tetap menggunakan Docker EE untuk Kontainer Windows.

    • Sebelum meningkatkan ke Kubernetes 1.24, sesuaikan runtime node Anda. Untuk informasi lebih lanjut, lihat Perubahan utama di Kubernetes 1.22.

  • Pada Kubernetes 1.22.10 dan versi selanjutnya, kube-proxy tidak lagi mendengarkan port layanan NodePort. Jika range NodePort (parameter ServiceNodePortRange dari API server) tumpang tindih dengan range port lokal kernel (net.ipv4.ip_local_port_range), hal ini dapat menyebabkan kegagalan koneksi TCP intermiten, yang mengakibatkan pemeriksaan kesehatan gagal dan gangguan layanan. Oleh karena itu, sebelum meningkatkan kluster ke versi 1.22.10 atau yang lebih baru, pastikan bahwa range NodePort kluster tidak tumpang tindih dengan net.ipv4.ip_local_port_range pada node mana pun. Untuk informasi tentang cara mengonfigurasi range NodePort, lihat Bagaimana cara mengonfigurasi range NodePort? atau PR komunitas Kubernetes.

  • PodSecurityPolicy (PSP) mulai ditinggalkan sejak Kubernetes 1.21 dan dijadwalkan untuk dihapus di Kubernetes 1.25. Meskipun masih tersedia pada versi ini, kami menyarankan untuk bermigrasi ke controller admission keamanan pod bawaan. Untuk informasi lebih lanjut, lihat Perubahan utama di Kubernetes 1.22.

  • Versi ini mungkin terpengaruh oleh kerentanan CVE-2022-3172. Untuk informasi lebih lanjut tentang dampak dan mitigasinya, lihat CVE-2022-3172.

  • Pada Kubernetes 1.22 dan versi selanjutnya, token akun layanan memiliki periode validitas default satu tahun. kubelet secara otomatis memutar token tersebut. Untuk informasi lebih lanjut, lihat BoundServiceAccountTokenVolume. Klien yang menggunakan client-go versi v11.0.0+ atau v0.15.0+ secara otomatis memuat ulang token baru dari disk. Namun, klien yang menggunakan versi client-go lama tidak secara otomatis memuat ulang token, sehingga berisiko mengalami kegagalan otentikasi saat mengakses API server dari dalam kluster setelah token kedaluwarsa. Jika Anda menggunakan versi yang terdampak, tingkatkan dependensi client-go Anda. Untuk informasi lebih lanjut tentang dampak dan solusi terkait kedaluwarsa token akun layanan, lihat [Perubahan Produk] Mengatasi masalah kedaluwarsa token ServiceAccount di Kubernetes 1.22+.

  • Setelah Anda meningkatkan ke Kubernetes 1.22 atau versi yang lebih baru, penjadwalan Pod ke node virtual diaktifkan secara default. Penjadwalan Pod ke node virtual dipengaruhi oleh taint pada node virtual, serta afinitas node, afinitas pod, dan batasan penyebaran topologi yang ditentukan pada pod. Untuk mempertahankan perilaku sebelum peningkatan, Anda dapat menonaktifkan opsi Enable Virtual Node-based Pod Scheduling untuk komponen kube-scheduler. Untuk informasi lebih lanjut, lihat Parameter kustom kube-scheduler.

etcd

3.5.1

Tidak ada

CoreDNS

v1.9.3.6-32932850-aliyun

Peningkatan ini tidak memengaruhi workload Anda. Fitur baru berikut disertakan:

  • Dukungan untuk memantau resource EndpointSlices.

  • Dukungan untuk kueri DNS melalui IPv6.

CRI

  • Docker CE 19.03.15

  • Docker EE (berbeda-beda tergantung versi Windows)

Tidak ada

containerd 1.4.8

Tidak ada

CSI

v1.26

Tidak ada

CNI

Flannel 0.15.1.4-e02c8f12-aliyun

Peningkatan ini tidak memengaruhi workload Anda. Fitur baru berikut disertakan:

  • Memperbarui APIVersion resource seperti Authorization untuk mendukung Kubernetes 1.22.

  • Dukungan untuk mengekspos layanan menggunakan HostPort.

  • Dukungan untuk mode hairpin.

Terway

Tidak ada

NVIDIA Container Runtime

3.7.0

Tidak ada

ingress controller

1.1.0-aliyun.1

Peningkatan komponen ini dapat menyebabkan gangguan layanan singkat dan masalah kompatibilitas konfigurasi. Verifikasi secara menyeluruh konfigurasi Anda selama peningkatan komponen sebelum melanjutkan peningkatan kluster.

Perubahan utama di Kubernetes 1.22

Perubahan dan penghapusan resource

  • [DIHAPUS] Versi API admissionregistration.k8s.io/v1beta1 untuk MutatingWebhookConfiguration dan ValidatingWebhookConfiguration tidak lagi disajikan. Penggunaan API v1beta1 untuk membuat konfigurasi webhook admission atau mutating akan gagal dan mengganggu layanan webhook. Migrasikan ke admissionregistration.k8s.io/v1.

  • [DIHAPUS] Versi API apiextensions.k8s.io/v1beta1 untuk CustomResourceDefinition (CRD) tidak lagi disajikan. Penggunaan API v1beta1 untuk membuat CRD akan gagal, yang memengaruhi controller yang bergantung pada rekonsiliasi resource kustom ini. Migrasikan ke apiextensions.k8s.io/v1.

  • [DIHAPUS] Versi API apiregistration.k8s.io/v1beta1 untuk APIService tidak lagi disajikan. Penggunaan API v1beta1 untuk mengelola layanan API ekstensi Kubernetes akan menyebabkan gangguan layanan. Migrasikan ke apiregistration.k8s.io/v1.

  • [DIHAPUS] Versi API authentication.k8s.io/v1beta1 untuk TokenReview tidak lagi disajikan. Penggunaan API v1beta1 untuk otentikasi token akan gagal dan dapat menyebabkan aplikasi Anda berhenti berfungsi. Migrasikan ke authentication.k8s.io/v1.

  • [DIHAPUS] Versi API authorization.k8s.io/v1beta1 untuk SubjectAccessReview tidak lagi disajikan. Penggunaan API v1beta1 untuk pemeriksaan otorisasi akan gagal dan dapat menyebabkan aplikasi Anda berhenti berfungsi. Migrasikan ke authorization.k8s.io/v1.

  • [DIHAPUS] Versi API certificates.k8s.io/v1beta1 untuk CertificateSigningRequest tidak lagi disajikan. Penggunaan API v1beta1 untuk meminta sertifikat akan gagal. Migrasikan ke certificates.k8s.io/v1.

  • [DIHAPUS] Versi API coordination.k8s.io/v1beta1 untuk Lease tidak lagi disajikan. Penggunaan API v1beta1 untuk pemilihan leader akan gagal, yang dapat memengaruhi ketersediaan tinggi aplikasi Anda. Migrasikan ke coordination.k8s.io/v1.

  • [DIHAPUS] Versi API networking.k8s.io/v1beta1 dan extensions/v1beta1 untuk Ingress dan IngressClass tidak lagi disajikan. Penggunaan versi API lama ini untuk mengelola resource Ingress akan gagal dan dapat mengganggu traffic aplikasi. Migrasikan ke networking.k8s.io/v1.

  • [DIHAPUS] Versi API rbac.authorization.k8s.io/v1beta1 untuk ClusterRole, ClusterRoleBinding, Role, dan RoleBinding tidak lagi disajikan. Penggunaan API v1beta1 untuk mengelola resource RBAC akan gagal dan dapat menyebabkan masalah izin pada aplikasi Anda. Migrasikan ke rbac.authorization.k8s.io/v1.

  • [DIHAPUS] Versi API storage.k8s.io/v1beta1 untuk CSIDriver, CSINode, StorageClass, dan VolumeAttachment tidak lagi disajikan. Penggunaan API v1beta1 untuk mengelola resource CSI akan mengganggu layanan penyimpanan dan dapat mencegah CSI berfungsi dengan benar di kluster Anda. Migrasikan ke storage.k8s.io/v1.

  • [DIHAPUS] Versi API scheduling.k8s.io/v1beta1 untuk PriorityClass tidak lagi disajikan. Penggunaan API v1beta1 untuk mengelola kelas prioritas pod akan gagal. Migrasikan ke scheduling.k8s.io/v1.

  • [DIHENTIKAN] Dockershim telah ditinggalkan dan dijadwalkan untuk dihapus di Kubernetes 1.24. Untuk informasi lebih lanjut, lihat EP-2221 dan cri-containerd.

    Sebelum meningkatkan ke Kubernetes 1.24, ikuti langkah-langkah berikut untuk menyesuaikan runtime node Anda:

    • Rencanakan kapasitas (tipe instans dan jumlah) untuk node yang menggunakan runtime non-Docker berdasarkan jumlah pod.

    • Tambahkan node baru selama jam sepi.

    • Kosongkan node yang menggunakan runtime Docker satu per satu. Setelah mengosongkan setiap node, verifikasi bahwa pod aplikasi Anda telah berhasil pulih sebelum mengosongkan node berikutnya.

    • Setelah semua node berbasis Docker dikosongkan dan tidak menjalankan workload apa pun, Anda dapat menghapusnya.

  • [DIHENTIKAN] Pada Kubernetes 1.22.10 dan versi selanjutnya, kube-proxy tidak lagi mendengarkan port layanan NodePort. Jika range NodePort (parameter ServiceNodePortRange dari API server) tumpang tindih dengan range port lokal kernel (net.ipv4.ip_local_port_range), hal ini dapat menyebabkan kegagalan koneksi TCP intermiten, yang mengakibatkan pemeriksaan kesehatan gagal dan gangguan layanan. Oleh karena itu, sebelum meningkatkan kluster ke versi 1.22.10 atau yang lebih baru, pastikan bahwa range NodePort kluster tidak tumpang tindih dengan net.ipv4.ip_local_port_range pada node mana pun. Untuk informasi tentang cara mengonfigurasi range NodePort, lihat Bagaimana cara mengonfigurasi range NodePort? atau PR komunitas Kubernetes.

Penyempurnaan fitur

  • Fitur ImmutableEphemeralVolumes diaktifkan secara default. Dengan menandai ConfigMap dan Secret sebagai immutable, Anda dapat secara signifikan mengurangi beban pada API server. Untuk informasi lebih lanjut, lihat dokumentasi resmi Kubernetes untuk Secret dan ConfigMap.

  • Fitur dual-stack IPv4/IPv6 (IPv6DualStack) diaktifkan secara default. Untuk menggunakan fitur ini, Anda harus mengonfigurasi blok CIDR IPv4 dan IPv6 yang valid saat membuat kluster dan menginstal plugin CNI yang mendukung jaringan dual-stack. Untuk informasi lebih lanjut, lihat IPv4/IPv6 dual-stack.

  • Fitur GracefulNodeShutdown diaktifkan secara default. Fitur ini, yang hanya tersedia untuk node Linux, memberi tahu kubelet tentang shutdown node yang akan datang, sehingga memungkinkannya menghentikan pod secara elegan dalam periode shutdown tertentu. Untuk informasi lebih lanjut, lihat Nodes.

  • Fitur EfficientWatchResumption diaktifkan secara default. Fitur ini memungkinkan cache berbasis watch dipulihkan lebih efisien setelah restart API server, yang meningkatkan kinerja di kluster berskala besar. Untuk informasi lebih lanjut, lihat KEP-1904.

  • Fitur CSIStorageCapacity diaktifkan secara default. Fitur ini memungkinkan kube-scheduler mempertimbangkan kapasitas penyimpanan node saat menjadwalkan pod yang memerlukan ukuran volume tertentu, sehingga menghasilkan keputusan penjadwalan yang lebih cepat. Untuk informasi lebih lanjut, lihat Storage Capacity.

  • Fitur DaemonSetUpdateSurge diaktifkan secara default. Selama pembaruan rolling untuk DaemonSet, Anda sekarang dapat menentukan .spec.strategy.rollingUpdate.maxSurge untuk menentukan jumlah maksimum pod yang dapat dibuat melebihi jumlah yang diinginkan. Untuk informasi lebih lanjut, lihat Perform a Rolling Update on a DaemonSet.

  • Fitur IndexedJob diaktifkan secara default. Dengan mengatur .spec.completionMode ke Indexed dalam Job, setiap pod menerima anotasi indeks penyelesaian (batch.kubernetes.io/job-completion-index) dan variabel lingkungan (JOB_COMPLETION_INDEX). Untuk informasi lebih lanjut, lihat Kubernetes.

  • Fitur MemoryManager diaktifkan secara default. Fitur ini hanya tersedia untuk node Linux dan menyediakan manajemen memori yang sadar NUMA, yang dapat secara signifikan meningkatkan kinerja aplikasi dengan persyaratan kualitas memori tertentu. ACK tidak mengonfigurasi reservasi memori apa pun terkait fitur ini. Untuk informasi lebih lanjut, lihat Runtime memory maps dan Control CPU Management Policies on the Node.

  • Fitur PodAffinityNamespaceSelector diaktifkan secara default. Kebijakan afinitas pod tidak lagi terbatas pada pemilihan label dalam namespace yang sama, memungkinkan strategi penjadwalan lintas-namespace yang lebih fleksibel. Untuk informasi lebih lanjut, lihat KEP-2249.

  • Fitur PodDeletionCost diaktifkan secara default. Fitur ini memungkinkan Anda memengaruhi urutan penghentian pod selama skala turun dengan menetapkan biaya penghapusan berdasarkan pemanfaatan pod, dengan pod yang memiliki pemanfaatan lebih rendah memiliki biaya lebih rendah. Untuk informasi lebih lanjut, lihat ReplicaSet.

  • Fitur PreferNominatedNode diaktifkan secara default. kube-scheduler akan memprioritaskan penjadwalan pod ke node yang dinominasikan. Scheduler hanya akan mengevaluasi node lain di kluster jika semua node yang dinominasikan tidak cocok. Untuk informasi lebih lanjut, lihat KEP-1923.

  • Fitur ProbeTerminationGracePeriod diaktifkan secara default. Fitur ini, yang hanya berlaku untuk pemeriksaan kelangsungan hidup, memungkinkan Anda mengonfigurasi terminationGracePeriodSeconds tingkat probe untuk mengurangi waktu tunggu sebelum pod yang gagal dimulai ulang. Untuk informasi lebih lanjut, lihat Configure Liveness, Readiness and Startup Probes.

  • Fitur NetworkPolicyEndPort diaktifkan secara default. Fitur ini memungkinkan Anda menentukan rentang port dalam NetworkPolicy. Untuk informasi lebih lanjut, lihat Network Policies.

  • Fitur LogarithmicScaleDown diaktifkan secara default. Fitur ini mengacak penghentian pod selama skala turun, yang membantu mengurangi masalah terkait batasan penyebaran topologi. Untuk informasi lebih lanjut, lihat Pod topology spread constraints should be taken into account on scale down dan KEP-2185.

  • Fitur SuspendJob diaktifkan secara default. Fitur ini memberi Anda lebih banyak kendali atas siklus hidup Job dengan memungkinkan Anda menangguhkan dan melanjutkannya. Untuk informasi lebih lanjut, lihat Introducing suspended Jobs.

  • Fitur ServiceInternalTrafficPolicy diaktifkan secara default. Fitur ini memungkinkan Anda mengarahkan traffic internal Layanan ke endpoint siap di node saat ini (Local) atau ke semua endpoint siap di seluruh kluster (Cluster). Untuk informasi lebih lanjut, lihat Service.

  • Fitur ServiceLoadBalancerClass diaktifkan secara default, memungkinkan Anda menggunakan implementasi load balancer kustom. Untuk informasi lebih lanjut, lihat Specifying the class of load balancer implementation.

  • Fitur ServiceLBNodePortControl diaktifkan secara default. Untuk skenario di mana traffic diarahkan langsung ke pod, Anda dapat menonaktifkan alokasi NodePort untuk layanan tipe LoadBalancer dengan mengatur .spec.allocateLoadBalancerNodePorts ke false. Untuk informasi lebih lanjut, lihat Disabling load balancer NodePort allocation.

  • Fitur SizeMemoryBackedVolumes diaktifkan secara default. Fitur ini, yang hanya tersedia untuk node Linux, memungkinkan Anda secara eksplisit menentukan ukuran volume emptyDir berbasis memori dengan emptyDir.sizeLimit, yang meningkatkan transparansi penjadwalan pod. Untuk informasi lebih lanjut, lihat: KEP-1967.

  • Fitur Server-side Apply diaktifkan secara default. Fitur ini memungkinkan Anda melacak sumber, waktu, dan operasi untuk perubahan pada bidang resource. Untuk informasi lebih lanjut, lihat Server-Side Apply.

  • Dukungan CSI untuk Kontainer Windows kini stabil. Pada sistem operasi yang tidak mendukung kontainer dengan hak istimewa, seperti Windows Server 2019 dan Windows Server Core versi 2004, Kontainer Windows dapat mengelola penyimpanan pada host menggunakan proxy CSI. Fitur ini memerlukan plugin CSI yang kompatibel. Untuk informasi lebih lanjut, lihat csi-proxy.

  • Fitur CSRDuration diaktifkan secara default. Saat Anda mengirimkan CertificateSigningRequest (CSR) yang menentukan .spec.expirationSeconds, periode validitas sertifikat yang diterbitkan adalah nilai terkecil antara durasi yang diminta dan parameter --cluster-signing-duration pada controller manager. Nilai default parameter ini di ACK adalah 10 tahun. Untuk informasi lebih lanjut, lihat Signers.

  • Gerbang fitur BoundServiceAccountTokenVolume kini Tersedia Umum (GA). Akun layanan yang dipasang ke dalam pod menggunakan volume non-projected kini memiliki periode validitas default satu tahun. Untuk informasi lebih lanjut, lihat dokumentasi fitur.

Fitur baru

  • Rilis ini memperkenalkan fitur pemantauan kesehatan volume persisten (PV). Fitur ini membantu workload mendeteksi kesehatan PV-nya, mencegah data dibaca dari atau ditulis ke volume yang rusak. Fitur pemantauan kesehatan volume CSI diaktifkan secara default di ACK. Fitur ini memerlukan dukungan dari plugin CSI yang mendasarinya. Untuk informasi lebih lanjut, lihat Volume Health Monitoring.

  • Rilis ini memperkenalkan fitur Quality of Service (QoS) untuk resource memori, berdasarkan cgroups v2. Saat resource dibatasi, seperti selama lonjakan permintaan resource yang tiba-tiba, resource CPU dapat dibatasi kecepatannya untuk memastikan ketersediaan. Namun, resource memori tidak dapat dibatasi kecepatannya dengan cara yang sama. Komunitas kernel Linux mengoptimalkan cgroups v2 untuk mendukung pembatasan kecepatan memori. Fitur QoS memori diaktifkan secara default di ACK. Fitur ini hanya tersedia pada node Linux dengan kernel yang didukung. Untuk informasi lebih lanjut, lihat fitur memcg QoS antarmuka cgroup v1 dan 2570-memory-qos.

  • Rilis ini memperkenalkan kemampuan untuk menjalankan kontainer dengan hak istimewa di Windows menggunakan kontainer HostProcess. Fitur Kontainer HostProcess Windows diaktifkan secara default di ACK. Fitur ini memerlukan dukungan dari sistem operasi node. Untuk informasi lebih lanjut, lihat What's new for Windows containers on Windows Server 2022 dan Create a Windows HostProcess Pod.

  • Rilis ini memperkenalkan fitur yang memungkinkan workload menggunakan memori swap node. Fitur ini hanya tersedia pada node Linux dan berguna dalam skenario di mana aplikasi dapat mencapai kinerja lebih baik dengan menggunakan memori swap, atau di mana administrator ingin menggunakan swap untuk meningkatkan stabilitas node di bawah tekanan memori. Fitur ini dinonaktifkan secara default di ACK. Untuk informasi lebih lanjut, lihat Swap Memory Management dan KEP-2400.

  • Rilis ini memperkenalkan fitur untuk mengonfigurasi profil seccomp default untuk semua workload. Fitur ini hanya tersedia pada node Linux. Saat diaktifkan, fitur ini menerapkan profil seccomp RuntimeDefault secara default. Karena beberapa workload mungkin memerlukan pembatasan panggilan sistem yang lebih sedikit, mengaktifkan fitur ini secara default dapat menyebabkan kegagalan. Fitur ini dinonaktifkan secara default di ACK. Untuk informasi lebih lanjut, lihat Enable the use of RuntimeDefault as the default seccomp profile for all workloads.

Penggantian fitur

  • PodSecurityPolicy (PSP) telah ditinggalkan dan dijadwalkan untuk dihapus sepenuhnya di Kubernetes 1.25. Controller admission keamanan pod diaktifkan secara default di ACK. Anda dapat secara bertahap mengganti resource PSP yang ada di Kubernetes 1.22. Untuk informasi lebih lanjut, lihat Pod Security Admission dan posting blog PodSecurityPolicy Deprecation: Past, Present, and Future.

  • Fitur ServiceTopology, yang dikonfigurasi menggunakan bidang topologyKeys dalam Layanan, telah ditinggalkan. Fitur ini digantikan oleh fitur topology aware hints. Fitur ServiceTopology dinonaktifkan secara default di ACK. Jika Anda telah mengaktifkannya, Anda dapat mengaktifkan topology aware hints di Kubernetes 1.22 dan secara bertahap bermigrasi ke fitur baru tersebut. Untuk informasi lebih lanjut, lihat Topology Aware Hints.

Penyempurnaan ACK untuk Kubernetes 1.22

Observabilitas

  • Metrik tambahan untuk permintaan akses API server guna meningkatkan observabilitas API server.

  • Untuk kluster ACK Pro, ACK Serverless Pro, dan ACK Edge Pro, ACK kini mengekspos metrik utama untuk komponen lapisan kontrol guna meningkatkan observabilitas lapisan kontrol.

Stabilitas

Untuk semua jenis kluster:

  • Proteksi lapisan penyimpanan untuk mengurangi dampak pada etcd selama cold start.

  • Dukungan untuk pembatasan kecepatan traffic API server berdasarkan kombinasi sumber permintaan, tipe, atau entri rute untuk mengurangi dampak pada API server selama cold start.

Optimalisasi kinerja

Perbaikan bug

kube-controller-manager: Memperbaiki kebocoran EndpointSlice yang terjadi dalam skenario tertentu. Untuk informasi lebih lanjut, lihat Fixing how EndpointSlice Mirroring handles Service selector transitions.

Referensi