The Performance Analysis of Container Networking Interface Plugins in Kubernetes
Siska Novianti, Achmad Basuki · 2021
Providing good network connectivity in the container environment presents a significant challenge, especially on networks within a Kubernetes cluster where containers can grow rapidly, spread amongst worker nodes, and may only live in a short time. Container Network Interface (CNI) helps manage network connectivity so that communication between containers can run well. However, many CNI plugins have compelling features, where selecting the suitable one is no easy task. This study presents an evaluation of several CNI plugins, namely Flannel, Calico, Cilium, Antrea, and Kube-router. We performed benchmarking tests using several scenarios to find the CNI plugins with higher throughput and less consumed resource-usage index (CPU and memory) in the Kubernetes. In an experimental environment where inter-hosts data exchanges are performed, Kube-Router achieved the highest throughput to more than 90% of nominal link bandwidth on TCP data transfer, followed by Flannel and Calico.