Klaster virtual adalah klaster Kubernetes yang berfungsi penuh dan bersarang di dalam klaster host fisik yang memberikan isolasi dan fleksibilitas yang lebih baik untuk mendukung multi-tenancy. Beberapa tim dapat beroperasi secara independen dalam infrastruktur fisik yang sama sambil meminimalkan konflik, memaksimalkan otonomi, dan mengurangi biaya.
Kluster virtual berjalan di dalam namespace kluster host tetapi berfungsi sebagai kluster Kubernetes yang terpisah, dengan server API, bidang kontrol, sinkronisasi, dan kumpulan sumber dayanya sendiri. Meskipun klaster virtual berbagi sumber daya fisik dengan klaster host (seperti CPU, memori, dan penyimpanan), mereka mengelola sumber dayanya secara independen, sehingga memungkinkan pemanfaatan dan penskalaan yang efisien.
Kluster virtual berinteraksi dengan kluster host untuk penjadwalan sumber daya dan jaringan, namun mempertahankan tingkat abstraksi untuk memastikan operasi dalam kluster virtual tidak secara langsung memengaruhi keadaan global kluster host.
⭐️ Apakah Anda suka vcluster? Dukung proyek ini dengan bintang ⭐️
Klaster virtual memberikan manfaat besar untuk penerapan Kubernetes skala besar dan multi-tenancy.
Izin Terperinci: Pengguna vCluster beroperasi dengan izin yang diminimalkan di kluster host, sehingga secara signifikan mengurangi risiko penyalahgunaan akses istimewa. Dalam vCluster mereka, pengguna memiliki kontrol tingkat admin, memungkinkan mereka mengelola CRD, RBAC, dan kebijakan keamanan lainnya secara mandiri.
Bidang Kontrol Terisolasi: Setiap vCluster dilengkapi dengan server API khusus dan bidang kontrolnya sendiri, sehingga menciptakan batas isolasi yang kuat.
Kebijakan Keamanan yang Dapat Disesuaikan: Penyewa dapat menerapkan tata kelola khusus vCluster tambahan, termasuk kebijakan OPA, kebijakan jaringan, kuota sumber daya, rentang batas, dan kontrol penerimaan, selain kebijakan dan langkah keamanan yang ada di cluster host fisik yang mendasarinya.
Perlindungan Data yang Ditingkatkan: Dengan opsi untuk penyimpanan pendukung terpisah, termasuk SQLite tertanam, dll, atau database eksternal, kluster virtual memungkinkan pengelolaan data terisolasi, sehingga mengurangi risiko kebocoran data antar penyewa.
Akses Admin Penuh per Penyewa: Penyewa dapat dengan bebas menerapkan CRD, membuat namespace, taint, dan memberi label node, serta mengelola sumber daya dalam cakupan cluster yang biasanya dibatasi dalam namespace Kubernetes standar.
Jaringan Terisolasi namun Terintegrasi: Sambil memastikan isolasi otomatis (misalnya, pod di cluster virtual yang berbeda tidak dapat berkomunikasi secara default), vCluster memungkinkan kebijakan jaringan dan berbagi layanan yang dapat dikonfigurasi, mendukung pemisahan dan berbagi sesuai kebutuhan.
Manajemen Node: Menetapkan node statis ke cluster virtual tertentu atau berbagi kumpulan node di antara beberapa cluster virtual, memberikan fleksibilitas dalam alokasi sumber daya.
Infrastruktur Ringan: Kluster virtual secara signifikan lebih ringan dibandingkan kluster fisik, dapat berputar dalam hitungan detik, sangat kontras dengan waktu penyediaan yang lama yang sering terlihat di lingkungan seperti EKS (~45 menit).
Efisiensi Sumber Daya: Dengan berbagi sumber daya cluster host yang mendasarinya, cluster virtual meminimalkan kebutuhan infrastruktur fisik tambahan, mengurangi biaya dan dampak lingkungan.
Manajemen yang Disederhanakan: Bidang kontrol vCluster, yang berjalan di dalam satu pod, bersama dengan CoreDNS terintegrasi opsional, meminimalkan overhead operasional, menjadikan cluster virtual sangat cocok untuk penerapan skala besar dan skenario multi-tenancy.
Lingkungan Kubernetes yang Beragam: vCluster mendukung versi dan distribusi Kubernetes yang berbeda (termasuk K8, K3, dan K0), yang memungkinkan terjadinya distorsi versi. Hal ini memungkinkan untuk menyesuaikan setiap klaster virtual dengan kebutuhan spesifik tanpa memengaruhi klaster lainnya.
Penyimpanan Pendukung yang Dapat Diadaptasi: Pilih dari beragam penyimpanan data, mulai dari yang ringan (SQLite) hingga opsi tingkat perusahaan (tertanam, dll, penyimpanan data eksternal seperti Global RDS), yang memenuhi berbagai kebutuhan skalabilitas dan daya tahan.
Berjalan Di Mana Saja: Kluster virtual dapat berjalan di EKS, GKE, AKS, OpenShift, RKE, K3s, cloud, edge, dan on-prem. Selama itu adalah klaster K8s, Anda dapat menjalankan klaster virtual di atasnya.
Mengurangi Beban Server API: Kluster virtual, yang masing-masing memiliki server API khusus, secara signifikan mengurangi beban operasional pada server API Kubernetes kluster host dengan mengisolasi dan menangani permintaan secara internal.
Manajemen CRD Bebas Konflik: Manajemen CRD yang independen dalam setiap cluster virtual menghilangkan potensi konflik CRD dan perbedaan versi, memastikan pengoperasian yang lebih lancar dan penskalaan yang lebih mudah seiring dengan berkembangnya basis pengguna.
Berdayakan pengembang dengan Kubernetes layanan mandiri: Sederhanakan akses Kubernetes untuk pengembang melalui kluster virtual layanan mandiri, mengurangi kesalahan manusia dan meningkatkan otonomi pengembang tanpa mengorbankan persyaratan keamanan dan kepatuhan.
Percepat CI/CD dengan klaster Kubernetes yang bersifat sementara: Buat klaster Kubernetes virtual baru yang bersih secara instan untuk setiap permintaan pull, memungkinkan pengujian yang cepat dan terisolasi serta pratinjau PR tanpa waktu tunggu dan kesulitan dalam lingkungan pengujian bersama.
Tingkatkan penawaran ISV Anda dengan klaster khusus per pelanggan: Host setiap pelanggan dalam klaster virtual dengan isolasi penyewa yang ketat dan skalabilitas yang lancar, sekaligus menggabungkan alat-alat penting ke dalam tumpukan platform terpadu yang melayani banyak penyewa.
Membangun layanan Kubernetes terkelola dengan COGS terbaik di kelasnya dan margin tinggi: Memungkinkan akses pelanggan langsung ke kluster Kubernetes virtual khusus, menyederhanakan alokasi node dan sumber daya untuk efisiensi terdepan di industri dan skalabilitas yang tak tertandingi.
Lihat panduan memulai cepat kami untuk menerapkan vCluster pertama Anda!
Terima kasih atas minat Anda untuk berkontribusi! Silakan merujuk ke CONTRIBUTING.md untuk panduan.
Berlisensi di bawah Lisensi Apache, Versi 2.0 ("Lisensi"); Anda tidak boleh menggunakan file ini kecuali sesuai dengan Lisensi. Anda dapat memperoleh salinan Lisensi di
http://www.apache.org/licenses/LICENSE-2.0
Kecuali diwajibkan oleh undang-undang yang berlaku atau disetujui secara tertulis, perangkat lunak yang didistribusikan berdasarkan Lisensi didistribusikan berdasarkan DASAR "APA ADANYA", TANPA JAMINAN ATAU KETENTUAN DALAM BENTUK APAPUN, baik tersurat maupun tersirat. Lihat Lisensi untuk bahasa tertentu yang mengatur izin dan batasan berdasarkan Lisensi.