Kriteria keputusan
Memilih plugin jaringan terbaik untuk kasus penggunaan Anda tergantung pada kriteria Anda. Setiap opsi memiliki pro, kontra, dan tradeoff sendiri yang perlu dipertimbangkan saat membuat pilihan.
Kriteria keputusan tingkat tinggi
Kelelahan IPv4
Kubenet dirancang dengan mempertimbangkan konservasi ruang alamat IP. Azure CNI menyediakan pod dengan konektivitas jaringan yang lengkap, tetapi membutuhkan lebih banyak ruang dan perencanaan alamat IP. Kelelahan IPv4 adalah ketika jumlah alamat mencapai batas dan menghentikan simpul dari operasi skala atau peningkatan. Selama kelelahan, aplikasi Anda menuntut terlalu banyak sumber daya dan goyah untuk mengikuti.
Kubenet memungkinkan node menerima alamat IP yang ditentukan, tanpa perlu memesan sejumlah besar alamat IP di muka untuk semua pod potensial yang dapat berjalan di kluster. Dengan kubenet, Anda lebih sedikit khawatir tentang kelelahan IPv4 dan menangani rentang alamat IP kecil untuk dukungan kluster besar dan permintaan aplikasi.
Perhitungan dasar berikut membandingkan ruang alamat dalam model jaringan:
- kubenet: rentang alamat IP /24 sederhana dapat mendukung hingga 251 simpul dalam kluster (setiap subnet jaringan virtual Azure mencadangkan tiga alamat IP pertama untuk operasi manajemen). Jumlah node ini dapat mendukung hingga 27.610 pod (dengan maksimum defaultnya 110 pod per node dengan kubenet).
- Azure CNI: rentang subnet /24 dasar yang sama hanya dapat mendukung maksimum 8 simpul dalam kluster. Jumlah node ini hanya dapat mendukung hingga 240 pod (dengan default maksimum 30 pod per node dengan Azure CNI).
Ukuran kluster
Kubenet memiliki maksimum keras 400 simpul per kluster, sementara Azure CNI bergantung pada bagaimana plugin dikonfigurasi.
Konektivitas
Di Kubenet, Anda harus mengelola dan memelihara rute yang ditentukan pengguna (UDR) secara manual. Untuk menjangkau pod dari luar kluster, load balancer harus digunakan. Dengan Azure CNI, pod mendapatkan konektivitas jaringan virtual penuh dan dapat langsung dijangkau melalui alamat IP pribadinya dari jaringan yang terhubung.
Dukungan multi-kluster
Di kubenet, beberapa kluster tidak dapat menggunakan subnet node yang sama. Dengan Azure CNI, konfigurasi ini dimungkinkan.
Latensi
Dibandingkan dengan Azure CNI, Kubenet membutuhkan lompatan ekstra, yang dapat menyebabkan beberapa latensi kecil. Beban kerja yang sensitif terhadap latensi harus diterapkan pada kluster menggunakan Azure CNI.
Kemampuan ekstra
Azure CNI mendukung topologi jaringan kompleks dengan jaringan Azure CNI, seperti Simpul Virtual atau Kebijakan Jaringan Azure.
Kemampuan tambahan ini adalah:
- Subnet per kumpulan simpul
- Alokasi IP dinamis
- Alokasi subnet node vs pod
Perbedaan perilaku antara Kubenet dan Azure CNI
Selain kriteria tingkat tinggi, ada banyak perbedaan perilaku dan perbedaan dalam dukungan fitur:
Kemampuan | Kubenet | Azure CNI | Overlay Azure CNI | Azure CNI Didukung oleh Cilium |
---|---|---|---|---|
Sebarkan klaster di jaringan virtual yang ada atau baru | Didukung - UDR diterapkan secara manual | Didukung | Didukung | Didukung |
Konektivitas Pod-Pod | Didukung | Didukung | Didukung | Didukung |
Konektivitas Pod-VM; VM dalam jaringan virtual yang sama | Bekerja ketika diprakarsai oleh Pod | Bekerja dua arah | Bekerja ketika diprakarsai oleh Pod | Bekerja ketika diprakarsai oleh Pod |
Konektivitas Pod-VM; VM dalam jaringan virtual peered | Bekerja ketika diprakarsai oleh Pod | Bekerja dua arah | Bekerja ketika diprakarsai oleh Pod | Bekerja ketika diprakarsai oleh Pod |
Akses lokal menggunakan VPN atau Rute Ekspres | Bekerja ketika diprakarsai oleh Pod | Bekerja dua arah | Bekerja ketika diprakarsai oleh Pod | Bekerja ketika diprakarsai oleh Pod |
Akses ke sumber daya yang diamankan oleh titik akhir layanan | Didukung | Didukung | Didukung | |
Akses ke sumber daya yang diekspos oleh Titik Akhir Privat | Didukung | Didukung | ||
Mengekspos layanan Kubernetes menggunakan layanan load balancer, App Gateway, atau ingress controller | Didukung | Didukung | Didukung | Batasan yang sama saat menggunakan mode Overlay |
Azure DNS Default dan Zona Privat | Didukung | Didukung | Didukung | |
Dukungan untuk kumpulan node Windows | Tidak didukung | Didukung | Didukung | Hanya tersedia untuk Linux |
Node virtual | Tidak Didukung | Didukung | Tidak didukung | |
Beberapa kluster berbagi satu subnet | Tidak didukung | Didukung | Didukung | |
Kebijakan jaringan yang didukung | Calico | Kebijakan Jaringan Calico dan Azure | Calico, Kebijakan Jaringan Azure, Cilium | Ciliuim |