Container Service for Kubernetes (ACK) sepenuhnya mematuhi Program Sertifikasi Konformitas Kubernetes. Topik ini menjelaskan perubahan yang dilakukan ACK untuk mendukung Kubernetes 1.16.
Peningkatan Versi
Semua komponen ACK telah diperbarui dan dioptimalkan untuk mendukung Kubernetes 1.16.
Komponen Inti | Versi | Deskripsi |
Kubernetes | 1.16.9 |
|
1.16.6 | Di Kubernetes 1.16, versi CoreDNS bawaan adalah 1.6.2. Dibandingkan dengan CoreDNS 1.3.1 di Kubernetes 1.14. Versi baru memiliki perubahan berikut:
Corefile akan dimigrasikan secara otomatis agar sesuai dengan versi CoreDNS baru. | |
Docker | 19.03.5 (containerd 1.2.10) | Tidak ada |
etcd | 3.4.3 | Tidak ada |
Detail Versi
Performance optimizations
Dibandingkan dengan Kubernetes 1.14, Kubernetes 1.16.6 menawarkan optimalisasi kinerja berikut:
Mengoptimalkan PodAffinity sehingga meningkatkan kinerja hingga 100%.
Mengoptimalkan operasi serialisasi, meningkatkan kinerja operasi daftar pada pod sebesar 40% dan pada node sebesar 30%.
Meningkatkan kinerja pemrosesan permintaan apply yang melibatkan objek peta besar di sisi server.
Meningkatkan solusi detak jantung berbasis sewa node, mengurangi 50.000 kueri sewa yang dikirim ke API server atau etcd per menit dalam kluster 8.000 node.
Mempercepat proses pembuatan pod secara signifikan. Untuk pod tanpa status yang tidak melibatkan pemasangan volume seperti ConfigMaps atau Secrets, optimasi berikut disediakan:
Baik Kubernetes 1.16.6 maupun 1.14 memenuhi SLA yang ditentukan oleh SIG Scalability. 99% pod dapat dimulai dalam 5 detik dengan asumsi gambar sudah ditarik.
Berdasarkan statistik dari 1% proses pembuatan pod terlama, Kubernetes 1.14 membutuhkan hampir 5 detik, sedangkan Kubernetes 1.16.6 hanya membutuhkan 3 detik dalam kondisi yang sama.
Dibandingkan dengan versi sebelumnya, Docker 19.03.5 menawarkan optimalisasi berikut:
Menambahkan buildkit bawaan untuk mempercepat pembuatan gambar.
Mengoptimalkan logika deteksi systemd untuk alat baris perintah runC, mempercepat startup kontainer dan mengurangi konsumsi memori.
Docker 19.03.5 juga meningkatkan stabilitas waktu proses:
Memperbaiki masalah di mana pod kadang-kadang restart saat pemeriksaan kesehatan menggunakan exec probes.
Memperbaiki kerentanan CVE-2018-15664 yang diekspos oleh perintah docker cp.
Memperbaiki masalah di mana Docker tidak merespons ketika kontainer kaya yang menjalankan beberapa proses keluar.
Memperbaiki kebocoran handle di containerd.
Feature upgrades
Dibandingkan dengan Kubernetes 1.14, Kubernetes 1.16.6 mencakup perubahan penting berikut:
Secara default, versi API berikut tidak didukung lagi: extensions/v1beta1, apps/v1beta1, dan apps/v1beta2. apps/v1beta1 digantikan oleh apps/v1. Versi API yang digunakan oleh DaemonSets, Deployments, dan ReplicaSets di extensions/v1beta1 digantikan oleh apps/v1. NetworkPolicies di extensions/v1beta1 digantikan oleh networking.k8s.io/v1.
CatatanUntuk memastikan kompatibilitas beban kerja Anda, ACK telah menambahkan dukungan sementara untuk versi API tersebut di Kubernetes 1.16.6 dan akan mengakhiri dukungan di Kubernetes 1.18. Kami sarankan Anda memperbarui versi API sesegera mungkin.
Parameter kontrol keamanan kubelet berikut sudah tidak digunakan lagi dan dihapus: AllowPrivileged, HostNetworkSources, HostPIDSources, dan HostIPCSources. Parameter kontrol akses seperti PodSecurityPolicy ditambahkan untuk meningkatkan keamanan.
Lebih banyak fitur telah distabilkan, termasuk CustomResourceDefinitions (CRDs) dan admission webhooks yang kini tersedia secara umum.
Penyempurnaan pada Kubernetes 1.16.6
ACK telah menyempurnakan Kubernetes 1.16 dalam aspek berikut:
Meningkatkan stabilitas dan kinerja:
Menambahkan percobaan ulang untuk fungsi idempoten guna meningkatkan tingkat keberhasilan pembuatan kluster.
Kontainer yang sedang berjalan tidak di-restart selama pembaruan kubelet.
Memperbaiki kegagalan startup kubelet akibat enormoustlb.
Meningkatkan observabilitas:
Mengoptimalkan log probe liveness yang dikirim dari instance Server Load Balancer (SLB) ke API server.
Menyesuaikan level log aggregationcontroller.
Mengoptimalkan output perintah get cs di kluster terkelola ACK.
Mengoptimalkan metrik pemantauan pada kontainer sandbox berdasarkan kompatibilitas dengan API metrik yang ada.