Untuk kluster besar atau beban kerja yang memerlukan penyediaan resource cepat, penskalaan otomatis node standar mungkin tidak cukup responsif. Node Instant Elasticity mempercepat penyediaan node dengan langsung memicu pembuatan instance ECS saat pod tidak dapat dijadwalkan, sehingga melewati siklus evaluasi autoscaler tradisional.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Kluster ACK yang dikelola atau Cluster khusus ACK yang menjalankan Kubernetes 1.24 atau versi yang lebih baru. Untuk melakukan peningkatan, lihat Meningkatkan kluster secara manual.
Menyediakan vSwitches dengan alamat IP yang mencukupi untuk kelompok node target. Periksa jumlah IP yang tersedia menggunakan operasi DescribeVSwitchAttributes. Jika jumlah IP tidak mencukupi, tambahkan blok CIDR menggunakan secondary CIDR block.
Saat skala-masuk (scale-in), instance subscription akan dihapus dari kluster tetapi tidak dilepas. Gunakan instance pay-as-you-go untuk menghindari biaya yang tidak perlu.
Kompatibilitas
| Condition | Supported |
|---|---|
| Kelompok node dengan Scaling Mode diatur ke Standard | Ya |
| Kelompok node dengan Scaling Mode diatur ke Swift | Tidak |
Jika versi komponen ACK GOATScaler lebih awal dari v0.5.3, hapus secara manual node yang offline. Lihat FAQ about Node Instant Elasticity.
Langkah 1: Aktifkan Node Instant Elasticity
Aktifkan dan konfigurasikan penskalaan otomatis kluster agar kelompok node dapat melakukan penskalaan.
Masuk ke ACK console. Pada panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster target lalu klik namanya. Di panel navigasi kiri, pilih Nodes > Node Pools.
Pada halaman Node Pools, klik Enable di samping Node Scaling.
Jika ini pertama kalinya Anda menggunakan penskalaan otomatis kluster, ikuti petunjuk di layar untuk mengaktifkan Auto Scaling dan memberikan izin yang diperlukan:
ACK managed clusters: Berikan izin kepada peran AliyunCSManagedAutoScalerRole.
ACK dedicated clusters: Berikan izin kepada peran KubernetesWorkerRole dan lampirkan kebijakan sistem AliyunCSManagedAutoScalerRolePolicy.

Pada halaman Node Scaling Configuration, atur Node Scaling Method ke Instant Scaling, konfigurasikan parameter penskalaan, lalu klik OK. Setelah dikonfigurasi, komponen penskalaan akan secara otomatis memicu skala keluar saat pod tidak dapat dijadwalkan.
CatatanUntuk beralih dari Node Instant Elasticity ke Node Autoscaling, baca pesan di layar dan ikuti petunjuknya. Opsi ini hanya tersedia bagi pengguna dalam daftar putih. Untuk meminta akses, kirimkan tiket.
Parameter penskalaan dasar
| Parameter | Description |
|---|---|
| Scale-in Threshold | Rasio antara resource yang diminta terhadap kapasitas node. Sebuah node hanya akan diskala-masukkan jika pemanfaatan CPU dan memori keduanya berada di bawah ambang batas ini. |
| GPU Scale-in Threshold | Ambang batas yang sama untuk instans yang dipercepat GPU. Sebuah node GPU hanya akan diskala-masukkan jika pemanfaatan CPU, memori, dan GPU semuanya berada di bawah ambang batas ini. |
| Defer Scale-in For | Waktu tunggu antara terpenuhinya kondisi skala-masuk dan eksekusi skala-masuk tersebut. Satuan: menit. Nilai default: 10 menit. |
Parameter penskalaan lanjutan
| Parameter | Description |
|---|---|
| Pod Termination Timeout | Waktu maksimum untuk menunggu pod pada sebuah node selesai menghentikan tugas selama proses skala-masuk. Satuan: detik. |
| Minimum Number of Replicated Pods | Jumlah minimum pod per Set Replika sebelum sebuah node dapat diskala-masukkan. Jika jumlah replika aktual kurang dari nilai ini, node tersebut tidak akan diskala-masukkan. |
| Evict DaemonSet Pods | Jika diaktifkan, pod DaemonSet pada sebuah node akan dievakuasi selama proses skala-masuk. |
| Skip Nodes Hosting Kube-system Pods | Jika diaktifkan, node yang menjalankan pod dalam namespace kube-system akan dilewati selama proses skala-masuk. Tidak berlaku untuk pod DaemonSet dan mirror pod. |
Langkah 2: Konfigurasikan kelompok node untuk penskalaan otomatis
Node Instant Elasticity hanya menskala node dalam kelompok node yang telah diaktifkan penskalaan otomatisnya. Konfigurasikan setidaknya satu kelompok node untuk penskalaan otomatis:
Kelompok node baru: Buat kelompok node dengan penskalaan otomatis diaktifkan.
Kelompok node yang sudah ada: Edit kelompok node untuk mengaktifkan penskalaan otomatis.
Perluas rentang tipe instance yang tersedia dengan mengonfigurasi beberapa tipe instance, menentukan atribut instance, atau menambahkan beberapa zona. Hal ini membantu menjaga inventaris yang mencukupi dan menghindari kegagalan skala keluar.
(Opsional) Langkah 3: Verifikasi hasil
Periksa apakah penskalaan otomatis telah diaktifkan untuk kelompok node
Pada halaman Node Pools, verifikasi bahwa daftar kelompok node menunjukkan penskalaan otomatis telah diaktifkan.

Periksa apakah komponen ACK GOATScaler telah terinstal
Pada halaman Clusters, temukan kluster target lalu klik namanya. Di panel navigasi kiri, klik Add-ons.
Pada halaman Add-ons, temukan komponen ACK GOATScaler. Statusnya harus Installed.
Event penskalaan
Node Instant Elasticity menghasilkan event berikut. Gunakan event tersebut untuk memantau status penskalaan.
| Event | Object | Description |
|---|---|---|
| ProvisionNode | pod | Skala keluar node berhasil dipicu. |
| ProvisionNodeFailed | pod | Skala keluar node gagal. |
| ResetPod | pod | Pod yang sebelumnya tidak dapat dijadwalkan dan memicu skala keluar ditambahkan kembali ke cakupan skala keluar. |
| InstanceInventoryStatusChanged | ACKNodePool | Status pasokan tipe instans di suatu zona telah berubah. Format: {InstanceType}/{Zone} inventory status changed from {Old Inventory Status} to {New Inventory Status}. Lihat View the health status of Node Instant Elasticity. |
Identifier node dan pod
Node Instant Elasticity mempertahankan identifier berikut pada node dan pod. Jangan ubah secara manual.
Label node
| Label | Description |
|---|---|
goatscaler.io/managed:true | Mengidentifikasi node yang dikelola oleh Node Instant Elasticity. Komponen ini secara berkala memeriksa apakah kondisi skala-masuk terpenuhi untuk node tersebut. |
k8s.aliyun.com: true | Sama seperti di atas. |
goatscaler.io/provision-task-id:{task-id} | Melacak sumber pemicu pembuatan node. |
Taint node
| Taint | Description |
|---|---|
goatscaler.io/node-terminating | Diterapkan pada node yang sedang diskala-masukkan oleh Node Instant Elasticity. |
Anotasi pod
| Annotation | Description |
|---|---|
goatscaler.io/provision-task-id | ID tugas dari node yang diskala-keluarkan untuk pod ini. Mencegah pemicu skala keluar ganda. |
goatscaler.io/reschedule-deadline | Periode tunggu sebelum pod ditambahkan kembali ke cakupan skala keluar jika tetap tidak dapat dijadwalkan. |
FAQ
Untuk pertanyaan umum mengenai perilaku skala keluar, perilaku skala-masuk, penskalaan kustom, dan komponen Node Instant Elasticity, lihat FAQ about Node Instant Elasticity.
Lihat status kesehatan Node Instant Elasticity
Node Instant Elasticity secara dinamis memilih tipe instance dan zona berdasarkan inventaris instance Elastic Compute Service (ECS). Untuk memantau kesehatan inventaris dan mendapatkan saran optimasi untuk konfigurasi kelompok node Anda, periksa ConfigMap kesehatan inventaris kelompok node.
Untuk informasi selengkapnya, lihat Melihat Status Kesehatan Node Instant Elasticity.
Kumpulkan log komponen
Untuk ACK managed clusters, kumpulkan log komponen dari halaman Control Plane Component Logs:
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster target lalu klik namanya. Di panel navigasi kiri, pilih Operations > Log Center.
Klik tab Control Plane Component Logs, klik Update Component di pojok kanan atas, lalu pilih komponen Node Instant Elasticity. Setelah pembaruan selesai, pilih komponen Node Instant Elasticity dari daftar drop-down komponen untuk melihat log-nya.


Upgrade komponen Node Instant Elasticity
Upgrade komponen ACK GOATScaler secara berkala untuk mendapatkan fitur dan perbaikan terbaru. Lihat Manage components.
Lewati pemeriksaan inventaris untuk resource private pool
Jika Anda menggunakan private pool untuk menjamin pasokan resource, aktifkan SkipInventoryCheck agar Node Instant Elasticity melewati pemeriksaan inventaris dan langsung menggunakan resource yang telah dipesan selama skala keluar.
Pada halaman Clusters, temukan kluster target lalu klik namanya. Di panel navigasi kiri, klik Add-ons.
Pada bagian Core Components, temukan komponen ACK GOATScaler lalu klik Configuration.
CatatanSkipInventoryCheckmemerlukan versi komponen v0.3.0-582e405-aliyun atau lebih baru. Lakukan upgrade komponen terlebih dahulu jika diperlukan.Atur
SkipInventoryCheckketrue.