Jika kluster ACK Anda tidak dapat menjadwalkan Pod yang tertunda, gunakan penskalaan node untuk menambah atau menghapus node secara otomatis. ACK menyediakan penyesuaian otomatis node dan penskalaan instan node. Dibandingkan dengan penyesuaian otomatis node, penskalaan instan node lebih cepat dan sederhana.
Sebelum memulai
Baca topik ini untuk memahami solusi penskalaan node ACK dan memilih solusi yang paling sesuai dengan workload Anda sebelum mengaktifkan penskalaan node.
Pelajari penskalaan manual, penyesuaian otomatis, skalabilitas horizontal, dan skalabilitas vertikal dalam dokumentasi resmi Kubernetes.
Cara kerja penskalaan node
Penskalaan node Kubernetes berbeda dari model tradisional berbasis ambang batas pemanfaatan resource. Pertimbangkan hal ini saat melakukan migrasi dari pusat data atau sistem orkestrasi lain ke Kubernetes.
Model penskalaan tradisional menambah node ketika pemanfaatan CPU atau memori melebihi ambang batas tertentu. Namun, model ini memiliki beberapa kelemahan berikut.
ACK menggunakan penskalaan node (lapisan resource) dan penskalaan workload (lapisan penjadwalan) untuk mengatasi hal ini. Penskalaan node memicu penskalaan berdasarkan pemanfaatan resource Pod.
Solusi penskalaan: penyesuaian otomatis node dan penskalaan instan node
Penskalaan node adalah fitur tingkat resource yang secara otomatis menyesuaikan jumlah node di kluster Anda. Ketika kapasitas yang ada tidak mencukupi untuk penjadwalan Pod, autoscaler menyediakan node tambahan.
ACK menyediakan dua solusi untuk penskalaan node.
Pengantar
-
Hanya satu komponen penskalaan yang dapat berjalan di dalam kluster. Kedua solusi tidak dapat digunakan bersamaan. Untuk mengaktifkan penskalaan node, lihat Aktifkan penyesuaian otomatis node dan Aktifkan penskalaan instan node.
-
Statistik penskalaan dalam topik ini merupakan nilai teoretis berdasarkan custom image. Hasil aktual di lingkungan Anda mungkin berbeda. Lihat Optimalkan penskalaan dengan custom image.
-
Kedua solusi penskalaan berlaku untuk node dalam kelompok node yang diaktifkan fitur penyesuaian otomatisnya.
|
Solusi |
Komponen |
Deskripsi |
|
Solusi 1: penyesuaian otomatis node |
cluster-autoscaler |
Memeriksa status kluster dalam siklus round-robin dan melakukan penskalaan node ketika kondisi terpenuhi. |
|
Solusi 2: penskalaan instan node |
ACK GOATScaler |
Autoscaler node berbasis event yang memastikan pengiriman resource efisien di kluster besar dan skenario skala keluar berturut-turut. Kluster dianggap besar jika salah satu kelompok node yang diaktifkan fitur penyesuaian otomatisnya berisi lebih dari 100 node, atau lebih dari 20 kelompok node di kluster tersebut memiliki fitur penyesuaian otomatis yang diaktifkan. Kecepatan penskalaan: 45 detik; tingkat keberhasilan: 99%; pengurangan fragmentasi resource: 30%. Mendukung kebijakan penskalaan kustom untuk ekstensibilitas. |
Perbandingan solusi
Untuk kelompok node yang diaktifkan penyesuaian otomatisnya (tanpa mode swift), fitur penskalaan instan node kompatibel dengan konfigurasi kelompok node yang ada dan mendukung semua jenis Pod. Tabel berikut membandingkan penskalaan instan node dengan penyesuaian otomatis node.
|
Manfaat |
Penyesuaian otomatis node |
Penskalaan instan node |
|
Kecepatan dan efisiensi penskalaan |
60 detik dalam mode standar, 50 detik dalam mode swift. |
Dengan penskalaan berbasis event dan Alibaba Cloud ContainerOS, setiap aktivitas penskalaan membutuhkan waktu 35–55 detik. |
|
Penyesuaian otomatis mencapai bottleneck performa pada 1 menit. Efisiensi berfluktuasi tergantung jumlah kelompok node dan skenario penskalaan — melebihi 100 kelompok node meningkatkan durasi menjadi 100–150 detik. |
Durasi penskalaan tetap stabil meskipun jumlah kelompok node atau Pod meningkat, sehingga cocok untuk skenario penskalaan cepat. |
|
|
Mode round-robin dengan pembaruan status kluster. Latensi minimum: 5 detik. |
Berbasis event. Latensi: 1–3 detik. |
|
|
Tingkat keberhasilan penskalaan resource |
Karena fluktuasi inventaris resource cloud dan variasi tipe instans, tingkat keberhasilan penyesuaian otomatis node sekitar 97%. |
Kebijakan pemilihan inventaris otomatis menyaring ribuan tipe instans Alibaba Cloud berdasarkan kondisi dan prioritas yang telah ditentukan, secara otomatis memilih tipe optimal atau alternatif cadangan ketika tipe yang ditentukan tidak tersedia. Hal ini menyederhanakan O&M dan meningkatkan tingkat keberhasilan menjadi 99%. |
|
Skala keluar menggunakan tipe instans dari konfigurasi kelompok node. Ketika beberapa tipe ditentukan, tipe dengan spesifikasi terendah diprioritaskan. |
Anda dapat menentukan beberapa tipe instans untuk aktivitas skala keluar. |
|
|
Autoscaler mencoba ulang secara berkala ketika penskalaan resource gagal. |
Autoscaler dapat menghasilkan alert ketika tipe instans yang ditentukan tidak mencukupi. |
|
|
Penggunaan dan O&M |
Dibandingkan dengan penyesuaian otomatis node, penskalaan instan node lebih mudah digunakan dalam aspek-aspek berikut:
|
|
|
Kebijakan penjadwalan |
Selain fitur penjadwalan penyesuaian otomatis node, penskalaan instan node juga mendukung:
|
|
|
Penskalaan instan node mengurangi tingkat fragmentasi resource sebesar 30% menggunakan kebijakan Bin Packing dan PreBind (fitur kustom). |
||
Batasan penskalaan instan node
Batasan berikut berlaku untuk penskalaan instan node. Tinjau batasan ini sebelum mengaktifkan penskalaan instan node.
-
Penskalaan instan node tidak mendukung mode swift.
-
Satu kelompok node dapat berisi hingga 180 node per batch skala keluar.
-
Skala-masuk tidak dapat dinonaktifkan untuk kluster tertentu.
CatatanUntuk menonaktifkan skala-masuk pada node tertentu, lihat Bagaimana mencegah node agar tidak diskala-masuk oleh penskalaan instan node?
-
Solusi penskalaan instan node tidak memeriksa inventaris instans preemptible. Jika Billing Method kelompok node diatur ke instans preemptible dan opsi Use Pay-as-you-go Instances When Spot Instances Are Insufficient diaktifkan, instans pay-as-you-go dapat diskala keluar meskipun instans preemptible tersedia dalam jumlah cukup.
Pilih solusi penskalaan node
Lihat Perbandingan solusi dan Batasan penskalaan instan node. Pilih penyesuaian otomatis node jika workload Anda memiliki tuntutan lebih rendah terhadap kecepatan penskalaan dan kepastian pengiriman, serta batasan penskalaan instan node tidak dapat diterima.
Jika workload Anda memiliki salah satu persyaratan berikut, penskalaan instan node direkomendasikan:
-
Kluster besar sangat menurunkan efisiensi penyesuaian otomatis node. Pilih penskalaan instan node, karena ukuran kluster hampir tidak berdampak pada efisiensi penskalaannya. Kluster dianggap besar jika salah satu kelompok node yang diaktifkan fitur penyesuaian otomatisnya berisi lebih dari 100 node, atau lebih dari 20 kelompok node di kluster tersebut memiliki fitur penyesuaian otomatis yang diaktifkan.
-
Diperlukan kecepatan penskalaan lebih cepat. Mode standar: penyesuaian otomatis node membutuhkan 60 detik; penskalaan instan node membutuhkan 45 detik.
-
Batch skala keluar berturut-turut sering terjadi. Dalam skenario penskalaan berturut-turut, performa penyesuaian otomatis node menurun dan berfluktuasi, sedangkan penskalaan instan node mempertahankan waktu penskalaan konsisten sekitar 45 detik.
Catatan penggunaan
Kuota dan batasan
-
Tabel rute VPC mendukung hingga 200 entri rute kustom. Untuk menambah batas ini, ajukan permohonan di Konsol Pusat Kuota. Untuk kuota resource lainnya, lihat Kuota Produk Cloud Dasar.
-
Konfigurasikan jumlah maksimum node dalam kelompok node yang diaktifkan penyesuaian otomatisnya dengan hati-hati. Pastikan resource dan kuota dependen mencukupi, seperti Blok CIDR VPC dan vSwitch, atau aktivitas skala keluar dapat gagal. Untuk batasan kelompok node, lihat Aktifkan penyesuaian otomatis node. Untuk perencanaan jaringan, lihat Perencanaan jaringan kluster ACK yang dikelola.
-
Penskalaan node tidak mendukung node langganan. Jangan mengatur metode penagihan ke langganan saat membuat kelompok node yang diaktifkan penyesuaian otomatisnya. Untuk kelompok node yang sudah ada, pastikan tidak ada node langganan sebelum mengaktifkan penyesuaian otomatis.
-
Fitur penskalaan node tidak kompatibel dengan SideCar Containers. Deploy workload Sidecar Container ke kelompok node dengan penyesuaian otomatis dinonaktifkan.
Pemeliharaan resource dependen
Jika elastic IP addresses (EIPs) dikaitkan dengan node ECS yang ditambahkan oleh penskalaan node, jangan menghapus node tersebut langsung dari Konsol ECS. EIP tidak akan dilepas secara otomatis.