Ketika menggunakan kluster Container Service for Kubernetes (ACK), Anda mungkin perlu meluncurkan banyak pod dalam waktu singkat. Node virtual memungkinkan pembuatan pod yang cepat tanpa perlu memesan atau memelihara pool node, menawarkan elastisitas dan mengurangi biaya sumber daya. Mereka memungkinkan penjadwalan langsung pod ke 阿里云弹性容器实例ECI(Elastic Container Instance)instance kontainer elastis, melewati kecepatan skala keluar yang lebih lambat dan potensi pemborosan sumber daya terkait dengan pemesanan tambahan node Elastic Compute Service (ECS).
Mengapa Anda membutuhkan node virtual?
Apa itu node virtual?
Node adalah unit dasar yang menyediakan sumber daya komputasi dan penyimpanan untuk menjalankan beban kerja di kluster ACK. Biasanya, sebuah kluster ACK memiliki setidaknya satu pool node ECS. Setelah pod dibuat, kubelet akan menjadwalkan pod tersebut ke node ECS dalam pool node. Mode penjadwalan ini cocok untuk aplikasi dengan volume lalu lintas stabil. Namun, mode ini tidak dapat menangani lonjakan lalu lintas karena pembuatan dan startup instance ECS memerlukan waktu. Dengan bantuan node virtual, Anda dapat langsung menjadwalkan pod ke instance kontainer elastis. Ini menyederhanakan pemeliharaan node, menghilangkan node yang tidak aktif, dan mengurangi biaya sumber daya.
Node virtual mengenkapsulasi sumber daya komputasi menggunakan komponen ack-virtual-node. Dengan cara ini, Anda dapat menerapkan beban kerja tanpa khawatir tentang infrastruktur. Komponen ack-virtual-node secara otomatis menjadwalkan pod ke instance kontainer elastis. Elastic Container Instance adalah layanan kontainer serverless. Setiap instance kontainer elastis setara dengan satu pod. Untuk menerapkan aplikasi pada instance kontainer elastis, Anda hanya perlu menyediakan gambar kontainer dan membayar untuk sumber daya yang dikonsumsi oleh kontainer tersebut.
Manfaat
Node virtual memberikan manfaat berikut:
Tanpa O&M: Anda tidak perlu mengelola atau memelihara sumber daya infrastruktur. Node virtual adalah sumber daya yang dikelola, sehingga tidak memerlukan operasi rutin seperti pembaruan sistem atau instalasi patch.
Kapasitas Ultra-Besar: Anda dapat menskalakan hingga 50.000 pod dalam sebuah kluster tanpa rencana sebelumnya.
PentingJika pod Anda terkait dengan sejumlah besar Layanan, kami sarankan agar jumlah pod dalam kluster tetap kurang dari 20.000.
Penskalaan Tingkat Detik: Anda dapat membuat ribuan pod dalam waktu singkat untuk menangani lonjakan lalu lintas.
Isolasi Keamanan: Pod dapat diterapkan pada instance kontainer elastis yang diisolasi satu sama lain menggunakan sandbox virtual ringan.
Pengurangan Biaya: Pod dibuat sesuai permintaan dan ditagih berdasarkan model bayar-per-penggunaan. Arsitektur serverless membantu mencegah pemborosan sumber daya dan mengurangi biaya O&M.
Skenario
Node virtual cocok untuk skenario berikut berdasarkan karakteristik dan manfaatnya:
Layanan Online
Untuk layanan online yang sering menghadapi lonjakan lalu lintas, seperti pendidikan online dan e-commerce, penggunaan node virtual dapat mencegah kelebihan beban sistem selama jam sibuk dan menghindari pemborosan sumber daya selama jam sepi.
Pemrosesan Data
Dengan menggunakan node virtual untuk menangani tugas konkuren online seperti Spark dan Presto, Anda tidak perlu khawatir tentang biaya sumber daya dasar. Anda dapat menerapkan ribuan pod dalam waktu singkat untuk menangani layanan data besar.
Pekerjaan AI
Node virtual memungkinkan Anda menerapkan sumber daya sesuai permintaan untuk pekerjaan AI yang membutuhkan sumber daya komputasi besar, seperti pelatihan model dan inferensi model. Sumber daya ditagih per detik dan dapat diskalakan dalam hitungan detik untuk menangani pekerjaan tak terduga.
Pengujian CI/CD
Anda dapat menggunakan node virtual untuk membuat dan melepaskan instance kontainer kapan saja untuk menangani tugas pengujian batch seperti pengemasan CI, uji stres, dan simulasi pengujian. Sumber daya dapat diterapkan sesuai permintaan dengan biaya rendah.
Jobs dan CronJobs
Jobs dan CronJobs secara otomatis dihentikan setelah selesai. Pod yang dibuat oleh Jobs dan CronJobs juga dihapus. Jika menggunakan node virtual, penagihan sumber daya berhenti secara otomatis setelah Job atau CronJob selesai, dan sumber daya komputasi dilepaskan untuk menghindari biaya tak terduga.
Keterbatasan
Node virtual tersedia di kluster ACK Edge yang menjalankan Kubernetes V1.28 dan versi lebih baru. Kami sarankan Anda memahami keterbatasannya sebelum digunakan.
DaemonSets tidak didukung. Anda dapat mengganti DaemonSets dengan kontainer sidecar.
Anda tidak dapat menentukan
HostPathatauHostNetworkdalammanifestspod.Kontainer istimewa tidak didukung. Anda dapat menggunakan konteks keamanan untuk menambahkan kemampuan ke pod.
CatatanFitur kontainer istimewa sedang dalam pratinjau internal. Untuk menggunakan fitur ini, submit a ticket.
NodePort Services dan fitur Session Affinity tidak didukung.
Wilayah China South Finance dan Alibaba Gov Cloud tidak didukung.
Penagihan
Fitur node virtual gratis. Anda akan dikenakan biaya untuk pod yang diterapkan pada instance kontainer elastis berdasarkan aturan penagihan Elastic Container Instance. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan Elastic Container Instance.
Anda akan dikenakan biaya untuk pod berbasis Elastic Container Instance berdasarkan model bayar-per-penggunaan. Penagihan dimulai ketika pod memasuki status Pending dan berhenti ketika pod memasuki status Succeeded atau Failed. Untuk informasi lebih lanjut, lihat Siklus Hidup Pod.
Pendahuluan Cepat
Anda dapat merujuk ke Jadwalkan Pod ke Instance Kontainer Elastis yang Diterapkan sebagai Node Virtual untuk dengan cepat mempelajari cara menjadwalkan pod ke node virtual.
Operasi terkait
Pastikan versi platform Elastic Container Instance kompatibel dengan versi Kubernetes target. Sebelum meningkatkan kluster, sistem memeriksa kompatibilitas antara versi platform Elastic Container Instance dan Kubernetes. Jika pod berbasis Elastic Container Instance tidak kompatibel dengan versi Kubernetes target, Anda harus menghapus dan membuat ulang mereka secara manual sebelum meningkatkan kluster. Untuk informasi lebih lanjut, lihat Perbarui Versi Platform Elastic Container Instance.
Operasi yang Didukung | Deskripsi | Referensi |
Konfigurasi Fleksibel Pod | Buat profil ECI, ConfigMap bernama eci-profile, untuk mengonfigurasi secara massal pod berbasis Elastic Container Instance, termasuk grup keamanan dan zona. Konfigurasi yang diperbarui diterapkan segera ke pod baru berbasis Elastic Container Instance tanpa restart. Pod berbasis Elastic Container Instance yang ada menerapkan pembaruan setelah pembaruan bergulir. | |
Anda dapat menambahkan anotasi pod untuk menggunakan beberapa fitur Elastic Container Instance, seperti menentukan jenis instance kontainer elastis, mengaktifkan cache gambar untuk mempercepat pembuatan pod, menetapkan alamat IPv6 ke pod berbasis Elastic Container Instance, dan memperluas penyimpanan sementara. | ||
Jadwalkan Pod ke Node Virtual | ACK menawarkan beberapa kebijakan penjadwalan, memungkinkan Anda menjadwalkan pod aplikasi secara eksklusif ke node virtual. Anda juga dapat menjadwalkan pod ke node ECS berbayar sesuai penggunaan atau langganan, menggunakan node virtual ketika sumber daya ECS tidak tersedia, dan menskalakan pod dalam urutan terbalik. Untuk informasi lebih lanjut tentang memilih metode penjadwalan, lihat Jadwalkan Pod ke Node Virtual. |
|
Jadwalkan Pod ke Node dengan OS atau Arsitektur Tertentu | Secara default, kluster ACK menjadwalkan pod beban kerja ke node virtual berbasis x86. Pod menjadi pending ketika node x86 tidak mencukupi. Anda juga dapat menjadwalkan pod beban kerja ke node virtual berbasis ARM. | |
Untuk menjadwalkan pod ke node Windows, tambahkan node virtual Windows ke kluster dan jadwalkan pod sesuai. | (Dalam Pratinjau Undangan) Jadwalkan Pod untuk Berjalan di Node Virtual Windows | |
Praktik Terbaik untuk Node Virtual | Tangani permintaan sumber daya komputasi puncak kluster dengan menjalankan pekerjaan pada node virtual. Metode ini meminimalkan biaya O&M kluster karena Anda tidak perlu membuat node baru. | |
Gunakan instance kontainer elastis untuk menjalankan pekerjaan Spark dalam kluster ACK. Dengan mengonfigurasi kebijakan penjadwalan untuk menjadwalkan pod ke instance kontainer elastis, Anda dapat membuat pod berbasis Elastic Container Instance dan hanya membayar untuk sumber daya yang digunakan oleh pod. Pendekatan ini meminimalkan biaya dari sumber daya yang tidak aktif dan memungkinkan eksekusi beban kerja Spark yang hemat biaya. | Gunakan Instance Kontainer Elastis untuk Menjalankan Pekerjaan Spark | |
Gunakan komponen ACK Virtual Node untuk secara otomatis menyuntikkan kontainer sidecar ke pod yang dijadwalkan pada node virtual, memisahkan mereka dari kontainer aplikasi. | ||
Ubah konfigurasi pemantauan Prometheus untuk mengumpulkan metrik dari node virtual tertentu. | ||
Node virtual mendukung penemuan layanan, termasuk layanan intranet, headless, dan ClusterIP. | Gunakan Alibaba Cloud DNS PrivateZone untuk Mengimplementasikan Penemuan Layanan pada Node Virtual | |
FAQ tentangNode Virtual | Pertanyaan yang sering diajukan tentang penggunaan node virtual. |