Instans spot adalah instans sesuai permintaan yang tersedia dengan harga diskon dibandingkan instans pay-as-you-go. Kelompok node instans spot terdiri dari campuran instans spot dan instans pay-as-you-go. Penggunaan kelompok node instans spot secara signifikan mengurangi biaya Anda. Topik ini menjelaskan konsep dan kasus penggunaan kelompok node instans spot, serta cara mengonfigurasi campuran instans, menetapkan rasio instans spot terhadap instans pay-as-you-go, memeriksa status kedaluwarsa instans spot, dan menangani gangguan.
Pengenalan kelompok node instans spot
Instans spot menggunakan metode penagihan pay-as-you-go, di mana Anda membayar sesuai pemakaian. Harga dihitung berdasarkan harga pasar dan durasi penggunaan. Kelompok node instans spot terdiri dari campuran instans spot dan instans pay-as-you-go dengan rasio tertentu.
Instans spot merupakan jenis khusus instans pay-as-you-go dengan harga dinamis yang berfluktuasi berdasarkan faktor seperti penawaran dan permintaan. Model ini menawarkan biaya lebih rendah, dengan potensi penghematan hingga 90% dibandingkan kelompok node yang hanya menggunakan instans pay-as-you-go. Karena harga pasar instans spot berfluktuasi, Anda harus menentukan strategi penawaran saat membuatnya. Instans spot berhasil dibuat hanya jika harga pasar real-time untuk tipe instans yang ditentukan lebih rendah daripada penawaran Anda dan inventaris mencukupi.
Setelah dibuat, instans spot beroperasi seperti instans pay-as-you-go. Anda dapat menggunakannya bersama produk cloud lainnya, seperti Cloud Disks dan Elastic IP Addresses (EIPs). Secara default, instans spot memiliki periode perlindungan satu jam. Setelah periode ini, sistem memeriksa harga pasar real-time dan inventaris tipe instans setiap lima menit. Jika harga pasar melebihi penawaran Anda atau inventaris tidak mencukupi, sistem akan melepaskan instans spot tersebut.
Kasus penggunaan
Kelompok node instans spot
Karena kelompok node instans spot menggunakan instans spot, node dapat ditarik kembali kapan saja. Hal ini menjadikannya ideal untuk aplikasi tanpa status dan toleran kesalahan. Beban kerja yang sesuai meliputi pemrosesan batch, pekerjaan pelatihan pembelajaran mesin, ETL data besar (seperti Apache Spark), aplikasi pemrosesan antrian, dan aplikasi API tanpa status.
Beban kerja pada kelompok node instans spot harus mampu mentolerir periode ketika sumber daya node yang diperlukan tidak tersedia. Untuk aplikasi yang tidak dapat mentolerir gangguan semacam itu, kami merekomendasikan penggunaan kelompok node dengan instans pay-as-you-go atau instans subscription. Beban kerja yang umumnya tidak cocok untuk instans spot meliputi:
Alat manajemen kluster, seperti alat pemantauan dan operasi.
Penyebaran atau aplikasi yang memerlukan beban kerja stateful, seperti database.
Kelompok node instans spot dengan auto scaling
Jika beban kerja Anda cocok untuk kelompok node instans spot dan juga memiliki periode puncak serta periode sepi yang jelas, kami merekomendasikan mengaktifkan auto scaling untuk kelompok node tersebut.
Saat auto scaling diaktifkan, komponen node auto-scaler kluster memeriksa apakah kelompok node instans spot perlu melakukan scale-out untuk menyebar Pod di kluster dan secara otomatis melakukan scale-in ketika node memenuhi kriteria untuk scaling down. Kelompok node instans spot dengan auto scaling melakukan scale-out lebih cepat dan melepaskan sumber daya idle lebih tepat waktu. Scaling cepat ini membantu mengimbangi penarikan pasif instans spot dan meningkatkan penghematan biaya dengan mengelola penggunaan sumber daya secara efisien.
Pilih dan konfigurasikan campuran instans spot
Tidak ada solusi "satu ukuran untuk semua" dalam memilih tipe instans. Kami merekomendasikan memilih konfigurasi yang paling sesuai dengan kebutuhan bisnis Anda dan mencapai keseimbangan optimal antara inventaris, biaya, dan performa. Untuk memenuhi berbagai kebutuhan bisnis, Alibaba Cloud ECS menyediakan berbagai tipe instans. Untuk menggunakan kelompok node instans spot secara efektif, Anda harus terlebih dahulu mempelajari cara memilih campuran instans yang tepat, terutama dalam skenario penawaran, guna meminimalkan dampak potensial terhadap bisnis Anda.
Anda dapat memilih dan mengonfigurasi campuran instans spot dengan cara berikut.
Berdasarkan rekomendasi konsol
Konsol Alibaba Cloud Container Service for Kubernetes (ACK) menyediakan rekomendasi pemilihan instans. Saat Anda membuat atau mengedit kelompok node, konsol menampilkan tipe instans yang saat ini tersedia di wilayah yang dipilih. Saring lebih lanjut tipe instans tersebut berdasarkan kebutuhan sumber daya Anda. Setelah memilih tipe instans, konsol menghitung kekuatan elastisitas dan rentang harga instans tersebut. Gunakan rekomendasi kekuatan elastisitas untuk menambahkan lebih banyak tipe instans dan menetapkan harga maksimum untuk instans Anda.
Untuk informasi selengkapnya tentang cara membuat atau mengedit kelompok node, lihat Buat dan kelola kelompok node.

Gunakan CLI spot-instance-advisor
ACK menyediakan alat baris perintah open-source, spot-instance-advisor, yang dapat Anda gunakan untuk mengambil informasi fluktuasi harga historis dan harga saat ini untuk instans spot. Alat spot-instance-advisor memanggil API untuk mengambil tipe instans dan kurva harga historis untuk suatu wilayah. Alat ini kemudian menggunakan analisis statistik untuk memberi peringkat tipe instans dengan biaya core-hour terendah dan menghitung nilai berdasarkan volatilitas harga, yang ditampilkan di kolom ratio. Nilai ratio yang lebih tinggi menunjukkan fluktuasi harga yang lebih sering. Kami merekomendasikan memilih tipe instans dengan nilai ratio rendah.
Untuk mengunduh spot-instance-advisor, kunjungi repositori spot-instance-advisor.
spot-instance-advisor mendukung parameter filter berikut.
Usage of ./spot-instance-advisor:
-accessKeyId string
Your accessKeyId of cloud account
-accessKeySecret string
Your accessKeySecret of cloud account
-cutoff int
Discount of the spot instance prices (default 2)
-family string
The spot instance family you want (e.g. ecs.n1,ecs.n2)
-limit int
Limit of the spot instances (default 20)
-maxcpu int
Max cores of spot instances (default 32)
-maxmem int
Max memory of spot instances (default 64)
-mincpu int
Min cores of spot instances (default 1)
-minmem int
Min memory of spot instances (default 2)
-region string
The region of spot instances (default "cn-hangzhou")
-resolution int
The window of price history analysis (default 7)Jalankan perintah berikut untuk mendapatkan konfigurasi tipe instans paling sesuai untuk wilayah saat ini.
ParameteraccessKeyId,accessKeySecret, danregionwajib diisi. Ganti nilai placeholder dengan informasi aktual Anda.
./spot-instance-advisor --accessKeyId=<id> --accessKeySecret=<secret> --region=<cn-zhangjiakou>Konfigurasikan rasio instans spot terhadap instans pay-as-you-go
Anda dapat mengonfigurasi rasio instans spot terhadap instans pay-as-you-go dalam satu kelompok node. Hal ini memungkinkan Anda mengurangi biaya dengan memaksimalkan penggunaan instans spot sekaligus mempertahankan basis instans pay-as-you-go yang stabil.
Versi kluster Anda harus 1.9 atau lebih baru. Untuk meningkatkan kluster Anda, lihat Tingkatkan kluster secara manual.
Pastikan Anda dapat menambahkan jumlah node yang cukup ke kluster Anda. Untuk informasi tentang kuota node dan cara mengajukan peningkatan kuota, lihat Kuota dan batasan.
Untuk memastikan node dapat mengakses internet publik dan mencegah kegagalan saat menambahkan node yang ada, pastikan instans ECS dalam Virtual Private Cloud (VPC) telah dikaitkan dengan Elastic IP Address (EIP) atau VPC yang sesuai telah dikonfigurasi dengan NAT Gateway.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, pilih Clusters.
Pada halaman Clusters, klik nama kluster target. Di panel navigasi sebelah kiri, pilih .
Pada halaman Node Pools, klik Create Node Pool dan konfigurasikan kelompok node tersebut.
Tabel berikut hanya menjelaskan parameter inti. Untuk petunjuk lengkap, lihat Buat dan kelola kelompok node.
Item Konfigurasi
Deskripsi
vSwitch
Pilih vSwitch di zona berbeda untuk meningkatkan ketersediaan tinggi (high availability/HA) kluster Anda.
Billing Method
Pilih Spot instance.
Bentangkan Advanced Options di bawah ini dan konfigurasikan parameter berikut.

Scaling Policy
Konfigurasikan cara kelompok node memilih instans selama penskalaan.
Priority: Melakukan scaling berdasarkan prioritas vSwitch yang dikonfigurasi untuk kluster (prioritas vSwitch menurun dari atas ke bawah). Jika instans tidak dapat dibuat di zona vSwitch dengan prioritas lebih tinggi, vSwitch dengan prioritas berikutnya akan digunakan secara otomatis.
Cost Optimization: Melakukan scaling berdasarkan harga per unit vCPU, dari yang terendah ke tertinggi.
Jika kelompok node menggunakan Spot Instances, instans spot diprioritaskan. Anda juga dapat mengonfigurasi Proportion Of On-demand Instances (%). Saat tipe instans spot tidak dapat dibuat karena ketersediaan inventaris atau alasan lain, instans on-demand akan digunakan secara otomatis sebagai pelengkap.
Distribution Balancing: Mendistribusikan instans ECS secara merata di beberapa zona dalam skenario multi-zona. Jika distribusi zona menjadi tidak seimbang akibat ketersediaan inventaris yang tidak mencukupi atau alasan lain, Anda dapat melakukan operasi rebalancing.
Use On-Demand Instances To Supplement Spot Capacity
Fitur ini wajib diaktifkan ketika metode penagihan diatur ke spot instance.
Jika fitur ini diaktifkan dan jumlah instans spot yang cukup tidak dapat dibuat karena masalah harga atau inventaris, ACK secara otomatis akan mencoba membuat instans on-demand sebagai pelengkap.
Sumber daya cloud dan penagihan:
ECS InstanceEnable Supplemental Spot Instance
Jika fitur ini diaktifkan, ACK akan mencoba melakukan scale out instans baru sebagai kompensasi saat menerima pesan sistem bahwa sebuah instans spot akan segera ditarik kembali (5 menit sebelum penarikan).
Kompensasi berhasil: ACK mengosongkan (drain) node lama dan menghapusnya dari kluster.
Kompensasi gagal: ACK tidak mengosongkan node lama. Instans tetap ditarik dan dilepas setelah 5 menit. Saat inventaris dipulihkan atau kondisi harga terpenuhi, ACK secara otomatis membeli instans untuk mempertahankan jumlah node yang diharapkan. Untuk informasi selengkapnya, lihat Best practices for spot instance node pools.
Pelepasan proaktif instans spot dapat menyebabkan gangguan pada bisnis. Untuk meningkatkan tingkat keberhasilan kompensasi, kami menyarankan agar Anda juga mengaktifkan Use On-Demand Instances To Supplement Spot Capacity.
Sumber daya cloud dan penagihan:
ECS Instance
Setelah menyelesaikan konfigurasi, Anda dapat membuka daftar kelompok node, klik Details di kolom Actions, lalu klik tab Overview. Di bagian Node Configurations, Anda dapat melihat persentase instans pay-as-you-go.
Periksa status kedaluwarsa instans spot
Untuk mencegah terminasi node yang tidak terduga saat instans spot kedaluwarsa, ACK menggunakan komponen ack-node-problem-detector (NPD) untuk mengambil informasi tentang pelepasan instans yang akan datang dan memberi tahu Anda.
Untuk menginstal komponen NPD, lihat Langkah 1: Instal komponen ack-node-problem-detector.
Dalam kluster ACK, instans ECS berfungsi sebagai node yang mendukung kluster dan layanan yang berjalan di atasnya. Berdasarkan kebijakan pembuatannya, beberapa instans (seperti instans spot dan subscription) dilepas secara otomatis saat kedaluwarsa. Jika Anda tidak melakukan tindakan pencegahan seperti eviction Pod, drain node, atau penggantian node sebelum instans dilepas, layanan kluster Anda mungkin terganggu. Terminasi tak terduga pada node bidang kontrol bahkan dapat menyebabkan kegagalan tingkat kluster. Untuk mencegah masalah akibat kedaluwarsa instans spot, Anda dapat menggunakan status InstanceExpired dari komponen NPD untuk mendapatkan informasi tentang pelepasan instans yang akan datang.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, pilih Clusters.
Pada halaman Clusters, klik nama kluster target. Di panel navigasi sebelah kiri, pilih .
Pada halaman Nodes, klik nama node target atau pilih di kolom Actions.
Pada halaman detail node, periksa status
InstanceExpired.Di bagian Status, lihat status kondisi
InstanceExpired.
Status
InstanceExpireddijelaskan di bawah ini:InstanceExpiredstatusDeskripsi
True
Jika statusnya
Truedan Content-nyaInstanceToBeTerminated, artinya instans spot akan segera kedaluwarsa dan dilepas.False
Jika statusnya
Falsedan Content-nyaInstanceNotToBeTerminated, artinya instans spot belum kedaluwarsa dan masih dapat digunakan.Unknown
Menunjukkan error plugin. Silakan submit a ticket untuk bantuan.
Jika status
InstanceExpiredadalahTrue, Anda dapat melihat event berikut di bagian Events.
Jika status InstanceExpired adalah True, artinya instans spot akan segera dilepas. Jika Anda perlu terus menjalankan layanan di node ini, Anda harus menjadwalkan aplikasi ke node lain. Untuk petunjuk lengkap, lihat Jadwalkan aplikasi ke node tertentu.
Tangani gangguan instans spot secara mulus
Menangani gangguan instans spot secara mulus melibatkan tiga strategi utama: pemantauan dan notifikasi, kompensasi node proaktif, serta logika penanganan kustom.
Pahami notifikasi gangguan
Untuk memastikan Anda diberi tahu sedini mungkin tentang pelepasan instans spot dalam kelompok node, ACK menggunakan komponen NPD untuk memantau pesan pra-pelepasan instans spot.
Saat tidak ada pesan pra-pelepasan yang terdeteksi untuk instans spot, nilai
InstanceExpireddalam status node adalahFalse.
Saat nilai
InstanceExpireduntuk instans spot adalahTrue, artinya instans akan segera kedaluwarsa dan dilepas. ACK akan memberi tahu Anda tentang pelepasan yang akan datang melalui event kluster (Kubernetes Event).
Aktifkan instans spot pelengkap
Instans spot dapat ditarik kembali dengan pemberitahuan singkat, yang dapat mengganggu beban kerja dan sementara mengurangi kapasitas kluster.
Untuk meminimalkan gangguan, ACK menawarkan instans spot pelengkap—fitur penggantian node proaktif yang secara otomatis meluncurkan instans baru sebelum instans spot yang kedaluwarsa ditarik kembali.
Hal ini membantu mempertahankan kapasitas kluster yang stabil dan memberikan waktu bagi beban kerja untuk bermigrasi secara mulus, sehingga mengurangi risiko gangguan layanan.
Praktik terbaik:
Kami merekomendasikan mengaktifkan fitur ini saat menjalankan beban kerja stateful atau sensitif latensi pada instans spot.
Cara Mengaktifkan
Dalam konfigurasi kelompok node Anda, aktifkan Enable Supplemental Spot Instance.
Setelah diaktifkan, ACK secara otomatis memicu aktivitas scaling penggantian saat mendeteksi penarikan yang akan datang.
Jika penggantian gagal (misalnya karena inventaris atau harga), instans spot asli tetap akan ditarik sesuai jadwal. Namun, ACK akan mencoba memulihkan jumlah node target begitu kondisi memungkinkan.

Sesuaikan perilaku penanganan
Dalam banyak skenario bisnis nyata, decommissioning node memerlukan langkah-langkah tambahan selain shutdown yang mulus standar, seperti menghapus informasi node dari pusat DNS terdaftar. Untuk mengatasi kebutuhan tersebut, kami merekomendasikan memantau status InstanceExpired node atau mendengarkan event InstanceToBeTerminated. Saat Anda menerima notifikasi bahwa instans node akan kedaluwarsa atau dilepas, Anda dapat memperlakukannya sebagai node yang menunggu decommissioning dan menjalankan logika penanganan kustom Anda. Untuk petunjuk lengkap tentang cara memantau status kedaluwarsa instans spot, lihat Periksa status kedaluwarsa instans spot.