Container Service for Kubernetes (ACK) mengintegrasikan jaringan Kubernetes dengan layanan jaringan Alibaba Cloud untuk menyediakan jaringan kontainer yang stabil dan berkinerja tinggi, mencakup plugin CNI, Service, Ingress, serta penemuan layanan berbasis DNS.
Plugin CNI
Kubernetes menggunakan plugin CNI untuk mengaktifkan dan menstandarkan jaringan kontainer:
-
Pod bergabung ke jaringan kontainer saat dibuat dan keluar saat dihapus.
-
Setiap pod diberi alamat IP unik.
-
Pod dapat berkomunikasi dengan titik akhir di dalam maupun di luar kluster.
Plugin CNI mengimplementasikan jaringan kontainer. Plugin CNI yang digunakan menentukan alokasi IP pod, penggunaan jaringan overlay, pengalihan lalu lintas dalam kluster, serta kontrol akses pod. Beberapa plugin CNI open-source populer antara lain Calico, Flannel, dan Cilium.
ACK menyediakan dua plugin CNI—Terway dan Flannel—dengan fitur yang berbeda. Lihat Perbandingan plugin CNI Terway dan Flannel untuk memilih salah satunya saat membuat kluster.
Anda tidak dapat mengubah plugin jaringan setelah kluster dibuat.
Terway
Terway adalah plugin CNI yang dikembangkan oleh Alibaba Cloud. Plugin ini menetapkan elastic network interfaces (ENIs) dari instance ECS ke pod dalam kluster ACK, sehingga pod terhubung langsung ke Virtual Private Cloud (VPC) tanpa teknik tunneling seperti VXLAN, yang meningkatkan efisiensi jaringan. Terway ideal untuk kluster berskala besar yang membutuhkan kinerja jaringan tinggi dan kontrol akses ketat.
Saat membuat kluster ACK dengan Terway, pilih antara mode ENI inklusif atau eksklusif:
-
Alokasi IP: Dalam mode ENI eksklusif, setiap pod mendapatkan ENI khusus untuk kinerja jaringan optimal. Dalam mode ENI inklusif, pod berbagi ENI, sehingga meningkatkan kerapatan pod per node.
-
Akselerasi jaringan: Mode ENI inklusif mendukung akselerasi DataPath V2. Saat diaktifkan, Terway menggunakan jalur pengalihan berbeda untuk komunikasi yang lebih cepat.
-
Kontrol akses: Kedua mode mendukung alamat IP tetap, grup keamanan terpisah, dan vSwitch untuk pod. Mode ENI eksklusif juga mendukung kebijakan jaringan Kubernetes.
Flannel
Flannel adalah plugin CNI open-source yang menggunakan virtualisasi jaringan seperti VXLAN untuk membangun jaringan overlay bagi pod. Plugin ini mudah dikonfigurasi tetapi menawarkan kinerja jaringan yang lebih rendah karena overhead NAT, serta kontrol akses yang lebih terbatas dibandingkan Terway. Flannel mendukung kluster hingga 1.000 node dan cocok untuk skenario dengan kebutuhan kinerja jaringan rendah atau penyiapan kluster yang cepat.
Service
Pod bersifat sementara di Kubernetes—sumber daya jaringannya berubah ketika pod dihapus atau diganti. Service menyediakan titik masuk yang stabil ke sekelompok pod dengan load balancing bawaan:
-
Service memilih pod berdasarkan label dan memetakan alamat IP serta portnya ke alamat IP dan port pod tersebut.
-
Ketika pod backend berubah, Service secara otomatis memperbarui aturan pengalihannya.
ACK mendukung Service ClusterIP, NodePort, LoadBalancer, Headless, dan ExternalName untuk akses internal kluster, eksternal, maupun internet. Lihat Manajemen Service.
Ingress
Berbeda dengan Service yang menyediakan load balancing lapisan 4, Ingress mengelola akses eksternal pada lapisan 7 melalui titik masuk terpusat, mengarahkan permintaan ke Service berbeda berdasarkan nama domain atau path. Lihat Manajemen Ingress.
Penemuan layanan berbasis DNS
ACK mengubah nama Service menjadi alamat IP kluster melalui DNS, sehingga aplikasi dapat diakses melalui nama domain tanpa bergantung pada alamat IP atau lingkungan penerapan tertentu. Lihat Penemuan layanan berbasis DNS.