Virtual node memungkinkan Anda menjadwalkan Pod secara langsung ke Elastic Container Instance (ECI) tanpa perlu menyediakan atau memelihara node pool. Lakukan scale-out Pod saat terjadi lonjakan traffic tanpa harus mencadangkan node ECS tambahan atau membayar kapasitas yang tidak terpakai.
Mengapa menggunakan virtual node
Apa itu virtual node
Dalam Kluster ACK, node merupakan unit dasar yang menyediakan resource komputasi dan penyimpanan untuk menjalankan beban kerja. Sebagian besar Kluster ACK memiliki setidaknya satu node pool ECS. Saat Pod dibuat, kubelet akan menjadwalkannya ke node ECS dalam node pool tersebut. Mode penjadwalan ini ideal untuk aplikasi dengan traffic stabil, namun kurang efektif menangani lonjakan traffic karena proses pembuatan dan pengaktifan instans ECS memakan waktu. Virtual node memungkinkan Anda menjadwalkan Pod secara langsung di Alibaba Cloud Elastic Container Instance (ECI), sehingga mengurangi beban operasional manajemen node dan menurunkan biaya dengan menghindari resource node yang menganggur.
Berbeda dengan node ECS, virtual node tidak mendukung label kustom, Anotasi, atau taint.
Virtual node menggunakan Komponen ack-virtual-node untuk mengenkapsulasi resource komputasi, sehingga memungkinkan Anda men-deploy beban kerja tanpa mengelola infrastruktur yang mendasarinya. Komponen ini secara otomatis menjadwalkan Pod aplikasi untuk berjalan di ECI. ECI adalah layanan kontainer serverless di mana setiap instans ECI setara dengan sebuah Pod. Saat menggunakan ECI untuk men-deploy aplikasi terkontainerisasi, Anda cukup menyediakan container image dan hanya membayar resource yang dikonsumsi oleh kontainer Anda.
Manfaat
Virtual node memberikan manfaat sebagai berikut:
Dikelola sepenuhnya: Anda tidak perlu membuat pool resource dasar, sehingga mengurangi beban kerja O&M. Virtual node merupakan resource yang dikelola penuh dan tidak memerlukan operasi O&M rutin untuk node Kubernetes, seperti upgrade sistem atau instalasi patch keamanan.
Kapasitas besar: Anda dapat melakukan scale-out hingga maksimal 50.000 Pod tanpa perencanaan kapasitas.
PentingJika banyak Pod dikaitkan dengan layanan, sebaiknya batasi jumlah Pod dalam kisaran 20.000.
Elastisitas dalam hitungan detik: Anda dapat membuat ribuan Pod dalam waktu singkat. Hal ini mencegah latensi pembuatan Pod memengaruhi layanan selama lonjakan traffic.
Isolasi aman: Pod dibuat berdasarkan ECI. Setiap instans kontainer terisolasi secara kuat dari yang lain menggunakan teknologi kontainer sandbox ringan.
Hemat biaya: Aplikasi dibuat sesuai permintaan dan ditagih berdasarkan metode pay-as-you-go. Anda tidak dikenakan biaya untuk resource yang menganggur. Arsitektur serverless juga mengurangi biaya O&M.
Skenario
Virtual node cocok untuk skenario berikut:
Layanan online
Untuk layanan online yang sering mengalami lonjakan traffic, seperti pendidikan online dan e-commerce, virtual node mendukung penskalaan dalam hitungan detik. Hal ini mencegah kegagalan sistem akibat scale-out yang lambat selama lonjakan traffic dan menghindari pemborosan resource yang menganggur.
Pemrosesan data
Untuk memproses banyak task data online secara konkuren, seperti task Spark dan Presto, konkurensi tidak lagi dibatasi oleh biaya resource dasar. Anda dapat dengan cepat melakukan scale-out ke ribuan Pod untuk memenuhi kebutuhan pemrosesan big data.
Task AI
Untuk task AI seperti pelatihan model dan inferensi model yang tidak berjalan terus-menerus namun memerlukan resource komputasi signifikan, Anda tidak perlu mencadangkan resource. Gunakan resource sesuai permintaan dan bayar per detik untuk mengurangi biaya inferensi AI. Selain itu, elastisitas tingkat detik memungkinkan Anda merespons beban kerja mendadak dengan cepat.
Lingkungan staging CI/CD
Untuk task pengujian batch dalam proses CI/CD, seperti pengemasan CI, uji stres, dan pengujian simulasi, Anda dapat menggunakan virtual node untuk membuat dan melepaskan instans kontainer kapan saja. Anda dapat menggunakan resource sesuai permintaan dan dikenakan biaya per detik. Pendekatan ini menyediakan resource berskala besar dengan biaya rendah.
Job dan CronJob
Job dan CronJob tidak perlu berjalan terus-menerus. Setelah job selesai, job akan berhenti dan Pod terkait akan dihapus. Dengan virtual node, penagihan berhenti dan resource komputasi dilepaskan secara otomatis saat job selesai, sehingga menghindari pemborosan akibat resource yang menganggur.
Batasan
Sebelum menggunakan virtual node, pastikan beban kerja Anda kompatibel.
|
Kemampuan |
Didukung |
Catatan |
|
DaemonSet |
Tidak |
Gunakan kontainer sidecar sebagai gantinya. |
|
Volume |
Tidak |
|
|
|
Tidak |
|
|
Kontainer berprivilese |
Tidak |
Gunakan security context untuk menambahkan kemampuan ke Pod. Fitur kontainer privilege sedang dalam pratinjau internal. Untuk meminta akses, kirim tiket. |
|
Layanan NodePort |
Tidak |
|
|
Afinitas sesi |
Tidak |
|
|
Wilayah China South Finance |
Tidak |
|
|
Wilayah Alibaba Gov Cloud |
Tidak |
|
|
Virtual node berbasis Arm |
Ya |
|
|
Virtual node Windows |
Ya |
Dalam pratinjau undangan. |
Penagihan
Virtual node gratis. Pod ECI yang berjalan pada virtual node ditagih berdasarkan aturan penagihan ECI. Untuk informasi selengkapnya, lihat Ikhtisar penagihan ECI.
Pod ECI menggunakan metode penagihan pay-as-you-go. Penagihan dimulai saat Pod ECI memasuki status Pending dan berhenti saat Pod memasuki status Succeeded atau Failed. Untuk informasi selengkapnya, lihat Siklus hidup Pod ECI.
Mulai cepat
Untuk informasi tentang cara menggunakan virtual node, lihat Jadwalkan Pod untuk berjalan di ECI.
Langkah selanjutnya
Saat Anda melakukan upgrade Kluster, ACK secara otomatis memeriksa apakah versi platform ECI kompatibel dengan versi Kubernetes target. Sebelum melakukan upgrade, pastikan kedua versi tersebut kompatibel, serta hapus dan buat ulang Pod berbasis ECI yang tidak kompatibel. Untuk detailnya, lihat Perbarui versi platform Elastic Container Instance.
|
Task |
Deskripsi |
Referensi |
|
Konfigurasikan Pod secara massal |
Buat ConfigMap |
|
|
Sesuaikan perilaku Pod dengan Anotasi |
Anotasi Pod mencakup fitur seperti tipe instans ECI, cache gambar untuk mempercepat pembuatan Pod, alamat IPv6, dan penyimpanan temporary tambahan. |
|
|
Pilih Kebijakan penjadwalan |
Jadwalkan Pod secara eksklusif ke virtual node, kembali ke virtual node saat resource ECS tidak tersedia, atau campur penjadwalan ECS dan ECI. Kebijakan fallback memprioritaskan node ECS (Subscription atau Pay-As-You-Go) dan membalik urutan scale-in. |
|
|
Aktifkan penjadwalan virtual node untuk Kluster |
Konfigurasikan Kebijakan penjadwalan tingkat Kluster untuk merutekan Pod ke virtual node. |
Aktifkan Kebijakan penjadwalan Pod berbasis virtual node untuk Kluster ACK |
|
Jadwalkan Pod ke ECI |
Ikuti panduan langkah demi langkah untuk menjadwalkan Pod ke Elastic Container Instance. |
|
|
Gunakan daya komputasi ACS |
Akses daya komputasi ACS melalui Kluster ACK yang dikelola edisi Pro. |
Gunakan daya komputasi ACS melalui Kluster ACK yang dikelola edisi Pro |
|
Padukan alokasi resource ECS dan ECI |
Konfigurasikan penjadwalan untuk membagi beban kerja di seluruh instans ECS dan Elastic Container Instance. |
|
|
Sebarkan Pod di seluruh zona |
Konfigurasikan afinitas zona untuk Pod berbasis ECI guna meningkatkan ketersediaan. |
Sebarkan Pod ECI di seluruh zona dan konfigurasikan penjadwalan afinitas |
|
Gunakan virtual node berbasis Arm |
Secara default, Kluster ACK menjadwalkan Pod beban kerja ke virtual node berbasis x86. Pod akan menjadi pending jika node x86 tidak mencukupi. Jadwalkan beban kerja ke virtual node berbasis Arm untuk menangani kasus ini. |
|
|
Gunakan virtual node Windows |
Tambahkan virtual node Windows ke Kluster dan jadwalkan Pod ke dalamnya. |
(Dalam pratinjau undangan) Jadwalkan Pod untuk berjalan di virtual node Windows |
|
Jalankan Job di virtual node |
Tangani permintaan komputasi puncak dengan menjalankan Job di virtual node tanpa membuat node baru. |
|
|
Jalankan job Spark di ECI |
Konfigurasikan Kebijakan penjadwalan untuk menjalankan beban kerja Spark di ECI dan bayar hanya untuk resource yang digunakan. |
Gunakan Elastic Container Instance untuk menjalankan job Spark |
|
Injeksikan kontainer sidecar |
Add-on ACK Virtual Node secara otomatis menginjeksikan kontainer sidecar hanya ke dalam Pod virtual node, menguraikan keterkaitannya dari kontainer bisnis. |
|
|
Pantau virtual node |
Ubah konfigurasi pemantauan Prometheus untuk mengumpulkan metrik dari virtual node tertentu. |
|
|
Konfigurasikan penemuan layanan |
Aktifkan penemuan layanan (layanan intranet, headless, dan ClusterIP) pada virtual node menggunakan Alibaba Cloud DNS PrivateZone. |
Penemuan layanan pada virtual node berbasis Alibaba Cloud DNS PrivateZone |
|
Tinjau FAQ |
Temukan jawaban atas pertanyaan umum tentang virtual node. |