Anda dapat melakukan penskalaan manual kelompok node dengan menyesuaikan jumlah node yang diharapkan. Hal ini membantu mempertahankan jumlah node yang diinginkan dan meningkatkan efisiensi O&M. Anda dapat memperluas kapasitas kelompok node untuk memastikan tersedianya cukup node guna mendukung layanan Anda atau mengurangi kapasitasnya untuk menghemat biaya sumber daya.
ACK juga mendukung penskalaan otomatis. Anda dapat memilih salah satu dari dua solusi elastisitas, Penyesuaian otomatis node atau Elastisitas Instan Node, untuk secara otomatis menskalakan sumber daya node dan meningkatkan kapasitas penjadwalan Anda. Untuk informasi selengkapnya, lihat Penskalaan Node.
Pengantar penskalaan kelompok node
Jumlah node yang diharapkan adalah jumlah target node yang harus dipertahankan oleh kelompok node. Nilai ini merepresentasikan keadaan yang diinginkan dari kelompok node tersebut. Setelah Anda menentukan jumlah node yang diharapkan untuk suatu kelompok node, sistem secara otomatis memicu operasi skala keluar atau skala-masuk berdasarkan jumlah node saat ini. Proses ini mempertahankan jumlah node pada tingkat yang diharapkan tanpa memerlukan intervensi manual.
Memperluas kapasitas kelompok node
Jika Anda mengatur jumlah node yang diharapkan ke nilai yang lebih besar daripada jumlah node saat ini dalam kelompok node, sistem akan memicu operasi skala keluar. Jika sistem gagal menambahkan node skala keluar, sistem akan secara otomatis mencoba kembali hingga jumlah node dalam kelompok node mencapai jumlah yang diharapkan. Konfigurasi node baru bergantung pada konfigurasi kelompok node. Tipe instans dan zona node ditentukan oleh kebijakan penskalaan. Untuk informasi selengkapnya tentang kebijakan penskalaan, lihat Kebijakan penskalaan.
Saat melakukan skala keluar kelompok node, Anda dikenai biaya berdasarkan tipe instans yang dibuat. Misalnya, jika kelompok node dikonfigurasi dengan dua tipe instans, Billing Method adalah Pay-as-you-go, dan Scaling Policy adalah Priority Policy. Selama skala keluar ini, 2 instans Node A dibuat di zona vSwitch prioritas pertama. Jika sumber daya untuk Node A tidak mencukupi, 3 instans Node B dibuat di zona vSwitch prioritas kedua. Biaya selama satu jam dihitung menggunakan rumus Harga satuan tipe instans × Jumlah node × Durasi penagihan. Dalam contoh ini, biayanya adalah Harga satuan Node A × 2 × 1 + Harga satuan Node B × 3 × 1.
Skala keluar kelompok node terdiri dari dua langkah.
Buat instans ECS: Kelompok node ACK menggunakan Auto Scaling sebagai layanan dasar untuk membuat node. Setelah Anda menyesuaikan jumlah node yang diharapkan, ACK mengubah jumlah instans yang diharapkan dalam grup Auto Scaling dan melakukan skala keluar berdasarkan konfigurasi kelompok node. Status kelompok node berubah menjadi Skala Keluar. Setelah Auto Scaling membuat instans ECS, status kelompok node berubah menjadi Aktif. Untuk informasi selengkapnya tentang jumlah instans yang diharapkan, lihat Jumlah instans yang diharapkan.
PentingInstans GPU ECS Bare Metal (keluarga instans ebmgn7 dan ebmgn7e) tidak mendukung pembersihan otomatis multi-instans GPU (MIG). Oleh karena itu, ketika ACK menambahkan node jenis ini, pengaturan MIG yang ada akan direset. Durasi reset tidak dapat diprediksi. Jika proses reset memakan waktu terlalu lama, penambahan node secara otomatis mungkin gagal.
Untuk memecahkan masalah kegagalan tersebut, lihat Apa yang harus saya lakukan jika penambahan node instans ECS Bare Metal gagal?.
Untuk informasi selengkapnya tentang ebmgn7e, lihat Komputasi dioptimalkan dengan akselerasi GPU (seri gn/ebm/scc).
Tambahkan instans ECS ke kluster: Setelah Auto Scaling menyediakan instans ECS, instans tersebut secara otomatis menjalankan skrip
cloud-init(dikelola oleh ACK) untuk menginisialisasi node dan menambahkannya ke kelompok node. Log eksekusi disimpan ke file /var/log/messages pada node. Anda dapat masuk ke node dan menjalankan perintahgrep cloud-init /var/log/messagesuntuk melihat log eksekusi.CatatanJika node berhasil ditambahkan ke kelompok node, pesan log di
/var/log/messagessecara otomatis dihapus. Oleh karena itu, Anda hanya dapat merujuk log ini ketika penambahan node ke kluster gagal.Jika penambahan node ke kluster gagal, informasi penting dari log
/var/log/messagesdiekstraksi dan dimasukkan ke dalam hasil tugas. Anda dapat mengklik kluster target dan melihat alasannya di tab Cluster Tasks.
Mengurangi kapasitas kelompok node
Jika Anda mengatur jumlah node yang diharapkan ke nilai yang lebih kecil daripada jumlah node saat ini, sistem akan memicu operasi skala-masuk dan menghapus node.
Saat mengurangi kapasitas node:
Jika kebijakan penskalaan kelompok node diatur ke Priority Policy, sistem akan mengurangi kapasitas instans yang paling baru dibuat.
Jika kebijakan penskalaan kelompok node diatur ke Balanced Distribution Policy, sistem akan memfilter instans ECS berdasarkan zona sesuai dengan kebijakan rilis seimbang, lalu memilih instans yang paling baru dibuat untuk skala-masuk. Hal ini memastikan bahwa jumlah instans ECS di setiap zona grup penskalaan tetap kira-kira seimbang setelah instans dihapus.
Jika kebijakan penskalaan kelompok node diatur ke Cost Optimization Policy, sistem akan memprioritaskan penghapusan instans ECS dengan harga satuan vCPU tertinggi selama skala-masuk.
Ketika Anda mengurangi kapasitas kelompok node dengan mengubah jumlah node yang diharapkan, node akan dihapus meskipun operasi draining gagal. Jika Anda ingin melakukan draining node sebelum dihapus, Anda harus menghapus node tertentu. Untuk informasi selengkapnya, lihat Menghapus node.
Ketika Anda mengurangi kapasitas kelompok node, instans ECS berlangganan tidak dilepas. Untuk melepas instans berlangganan, masuk ke Konsol ECS, ubah instans berlangganan menjadi instans berbayar sesuai penggunaan, lalu lepaskan. Untuk informasi selengkapnya, lihat Mengonversi instans berlangganan menjadi instans berbayar sesuai penggunaan.
Siklus hidup disk sistem dan disk data terkait dengan node. Ketika sebuah node dilepas selama skala-masuk, disk-nya juga dilepas. Semua data pada disk tersebut hilang secara permanen dan tidak dapat dipulihkan. Untuk memastikan persistensi data, gunakan PersistentVolume (PV). Hal ini memisahkan data penyimpanan dari siklus hidup node dan memastikan keamanan data.
Prosedur
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin dikelola dan klik namanya. Di panel navigasi kiri, pilih .
Di kolom Actions untuk kelompok node target, klik Scale dan atur Scaling Mode ke Manual.
(Opsional) Jika Anda belum memberikan otorisasi kepada layanan orkestrasi O&M OOS, Anda harus memberikan otorisasi dengan membuat peran AliyunOOSLifecycleHook4CSRole. Klik AliyunOOSLifecycleHook4CSRole dan ikuti petunjuk di layar untuk menyelesaikan otorisasi.
CatatanJika Anda menggunakan Akun Alibaba Cloud, klik AliyunOOSLifecycleHook4CSRole untuk memberikan izin yang diperlukan.
Jika Anda menggunakan Pengguna RAM, pastikan akun Alibaba Cloud Anda telah diberikan peran AliyunOOSLifecycleHook4CSRole. Kemudian, lampirkan kebijakan AliyunRAMReadOnlyAccess ke Pengguna RAM tersebut. Untuk informasi selengkapnya, lihat Memberikan izin kepada Pengguna RAM.
Masukkan nilai untuk Expected Number Of Nodes dan ikuti petunjuk untuk mengirimkan konfigurasi.
Setelah dikirim, status kelompok node berubah menjadi Updating, diikuti oleh Scaling Out atau Removing Node.
Di kolom Status daftar kelompok node, status Scaling Out menunjukkan bahwa kelompok node sedang diperluas kapasitasnya. Status Active menunjukkan bahwa skala keluar telah selesai.
PentingKetika Anda memperluas kapasitas node dalam kluster, jika grup keamanan menolak akses ke 100.64.0.0/10, node tidak dapat ditambahkan ke kluster.
Di kolom Status daftar kelompok node, jika statusnya Removing Node, kelompok node sedang mengurangi kapasitas. Jika statusnya Active, skala-masuk telah selesai.
Operasi non-standar dan tindakan yang direkomendasikan
Jumlah node yang diharapkan adalah jumlah target node yang harus dipertahankan oleh kelompok node. Operasi non-standar tertentu dapat mencegah kelompok node melakukan penskalaan seperti yang diharapkan dan dapat menyebabkan kehilangan sumber daya. Tabel berikut menjelaskan operasi non-standar umum dan tindakan yang direkomendasikan.
Jangan lakukan operasi non-standar apa pun.
Operasi non-standar | Perilaku kelompok node | Rekomendasi |
Jalankan perintah | Jumlah node yang diharapkan didasarkan pada jumlah instans ECS dalam grup Auto Scaling, bukan jumlah node dalam kluster. Jika Anda menggunakan server API untuk menghapus node, instans ECS yang sesuai tidak dilepas. Akibatnya, jumlah aktual node dalam kelompok node tidak berubah. Namun, karena node dihapus dari kluster, statusnya ditampilkan sebagai Unknown dalam daftar node kelompok node. |
|
Lepaskan instans ECS dari Konsol ECS atau dengan memanggil operasi OpenAPI. | Kelompok node mendeteksi pelepasan instans ECS dan secara otomatis membuat instans ECS baru untuk mempertahankan jumlah node yang diharapkan. |
|
Hapus instans ECS dari grup penskalaan menggunakan Auto Scaling tanpa memodifikasi jumlah instans yang diharapkan. | Kelompok node mendeteksi pelepasan instans ECS dan secara otomatis membuat instans ECS baru untuk mempertahankan jumlah node yang diharapkan. | Jangan langsung mengelola grup penskalaan yang terkait dengan kelompok node. Hal ini dapat menyebabkan kelompok node berperilaku tidak sesuai harapan. |
Instans ECS berlangganan dilepas setelah masa berlangganan habis. | Kelompok node mendeteksi pelepasan instans ECS dan secara otomatis membuat instans ECS baru untuk mempertahankan jumlah node yang diharapkan. | ACK mendeteksi pelepasan node dan membuat instans baru untuk mempertahankan jumlah node yang diharapkan. Hal ini dapat mengakibatkan biaya tak terduga. Tangani instans ECS yang akan habis masa berlanggannya secara tepat waktu. Anda dapat menghapus node tersebut atau memperpanjang langganan instans ECS.
|
Aktifkan pemeriksaan kesehatan secara manual untuk instans grup Auto Scaling dari Konsol Auto Scaling atau dengan memanggil operasi OpenAPI. | Setelah pemeriksaan kesehatan diaktifkan untuk grup Auto Scaling, instans ECS baru secara otomatis dibuat setiap kali instans yang tidak sehat, seperti instans yang dihentikan, terdeteksi. | Secara default, ACK tidak mengaktifkan pemeriksaan kesehatan Auto Scaling. Instans ECS baru hanya dibuat ketika node dilepas. Jangan langsung mengelola grup Auto Scaling dari kelompok node. Hal ini dapat menyebabkan kelompok node berperilaku tidak sesuai harapan. |
Kode kesalahan untuk kegagalan penskalaan dan solusinya
Penskalaan kelompok node dapat gagal karena alasan seperti stok tidak mencukupi. Untuk melihat alasan kegagalannya, klik nama kluster target di halaman Cluster List. Lalu, di tab Cluster Jobs, klik View Reason.
Tabel berikut menjelaskan kode kesalahan umum untuk kegagalan skala keluar.
Kode kesalahan | Penyebab | Solusi |
RecommendEmpty.InstanceTypeNoStock | Stok instans ECS di zona saat ini tidak mencukupi. | Edit kelompok node untuk menambahkan vSwitch di zona berbeda dan mengonfigurasi beberapa tipe instans. Hal ini meningkatkan probabilitas keberhasilan pembuatan node. Daftar kelompok node mengidentifikasi kelompok node dengan kekuatan elastis rendah. Hal ini memungkinkan Anda mengevaluasi ketersediaan konfigurasi kelompok node dan kesehatan penyediaan instans. Untuk informasi selengkapnya, lihat Melihat kekuatan elastis kelompok node. |
NodepoolScaleFailed.FailedJoinCluster | Node gagal ditambahkan ke kluster ACK. | Masuk ke node skala keluar dan jalankan perintah |
InvalidAccountStatus.NotEnoughBalance | Saldo akun Anda tidak mencukupi. | Tambahkan dana ke akun Anda dan coba lagi operasi tersebut. |
InvalidParameter.NotMatch | Pesan kesalahan | Ubah tipe instans.
|
QuotaExceed.ElasticQuota | Jumlah instans ECS dari tipe instans yang dipilih di wilayah saat ini melebihi kuota Anda. | Anda dapat melakukan salah satu dari operasi berikut:
|
InvalidResourceType.NotSupported | Tipe instans ECS yang ditentukan tidak didukung atau stok habis di zona saat ini. | Panggil operasi DescribeAvailableResource untuk memeriksa apakah tipe instans tersedia di zona tersebut. Lalu, ubah tipe instans kelompok node. |
InvalidImage.NotSupported | Pesan kesalahan | Ubah tipe instans.
|
InvalidParameter.NotMatch | Pesan kesalahan | Ubah tipe instans.
|
QuotaExceeded.PrivateIpAddress | vSwitch memiliki jumlah alamat IP pribadi yang tersedia tidak mencukupi. | Konfigurasikan lebih banyak vSwitch untuk kelompok node lalu coba lagi operasi tersebut. |
InvalidParameter.KmsNotEnabled | Kunci KMS yang Anda tentukan tidak diaktifkan. | Masuk ke Konsol Key Management Service (KMS) untuk memeriksa status kunci. |
InvalidInstanceType.NotSupported | Pesan kesalahan | Ubah tipe instans.
|
InsufficientBalance.CreditPay | Saldo akun Anda tidak mencukupi. | Tambahkan dana ke akun Anda untuk melanjutkan. |
ApiServer.InternalError | Pesan kesalahan | Periksa apakah server API kluster tersedia dan dapat diakses. Untuk informasi selengkapnya, lihat Memecahkan masalah akses kluster dari konsol. |
RecommendEmpty.InstanceTypeNotAuthorized | Tipe instans yang Anda tentukan memerlukan otorisasi sebelum digunakan. | Anda dapat membuat tiket ke ECS untuk meminta otorisasi. |
Account.Arrearage | Saldo akun Anda tidak mencukupi. | Tambahkan dana ke akun Anda sebelum melanjutkan. |
Err.QueryEndpoints | Akses ke server API kluster ACK gagal. | Periksa apakah server API kluster Anda tersedia dan dapat diakses. Untuk informasi selengkapnya, lihat Memecahkan masalah akses kluster dari konsol. |
RecommendEmpty.DiskTypeNoStock | Stok disk di zona yang ditentukan tidak mencukupi. | Tambahkan lebih banyak zona (vSwitch) ke kelompok node, atau ubah tipe disk, lalu coba lagi operasi tersebut. |
InvalidParameter.KMSKeyId.KMSUnauthorized | Anda tidak memiliki otorisasi untuk mengakses Key Management Service (KMS). | Masuk ke ECS console untuk memberikan peran layanan `AliyunECSDiskEncryptDefaultRole` kepada ECS, yang memungkinkan ECS mengakses KMS. Untuk informasi selengkapnya, lihat Izin untuk enkripsi. |
InvalidParameter.Conflict | Pesan kesalahan | Ubah tipe instans atau tipe disk lalu coba lagi operasi tersebut. |
NotSupportSnapshotEncrypted.DiskCategory | Enkripsi disk sistem hanya didukung untuk Enhanced SSD (ESSD). | Pilih tipe disk lain. Untuk informasi selengkapnya tentang tipe disk dan enkripsi, lihat Buat dan kelola kelompok node. |
ScalingActivityInProgress | Kelompok node sedang menjalani aktivitas penskalaan. Coba lagi nanti. | Untuk menghindari konflik aktivitas penskalaan, jangan lakukan penskalaan node langsung dari konsol Auto Scaling. |
Instance.StartInstanceFailed | Instans ECS gagal dimulai. | Coba operasi tersebut lagi nanti. Untuk memecahkan masalah, Anda dapat membuat tiket ke ECS. |
OperationDenied.NoStock | Tipe instans ECS yang Anda pilih stok habis di zona yang ditentukan. | Ubah tipe instans dalam konfigurasi kelompok node dan coba lagi. Kekuatan elastisitas menunjukkan probabilitas keberhasilan skala keluar kelompok node berdasarkan stok real-time. Untuk informasi selengkapnya, lihat Melihat kekuatan elastis kelompok node. |
NodepoolScaleFailed.WaitForDesiredSizeTimeout | Tugas skala keluar melebihi batas waktu. | Lakukan langkah-langkah berikut untuk melihat detail aktivitas penskalaan.
|
ApiServer.TooManyRequests | Server API membatasi tugas skala keluar. | Server API membatasi tugas skala keluar. Kurangi jumlah permintaan yang dikirim ke server API atau coba lagi tugas tersebut nanti. |
NodepoolScaleFailed.PartialSuccess | Skala keluar sebagian berhasil. Beberapa node berhasil dibuat, tetapi yang lain gagal karena stok tidak mencukupi. | Pilih tipe instans berbeda dan coba lagi operasi tersebut. Kekuatan elastisitas menunjukkan probabilitas keberhasilan skala keluar kelompok node berdasarkan stok real-time. Untuk informasi selengkapnya, lihat Melihat kekuatan elastis kelompok node. |
Referensi
Untuk langkah-langkah terperinci dan tindakan pencegahan tentang menghapus node dari kluster, lihat Menghapus node.
Untuk informasi tentang operasi O&M untuk kelompok node, seperti meningkatkan kelompok node, mengaktifkan pemulihan node otomatis, dan memperbaiki CVE OS, lihat O&M kelompok node.
Untuk informasi tentang praktik terbaik untuk kelompok node, seperti menggunakan set penyebaran untuk mendistribusikan node di berbagai server fisik demi ketersediaan tinggi atau membuat kelompok node dari instans spot, lihat Praktik terbaik untuk node dan kelompok node.