当前位置: X-MOL 学术IEEE Trans. Netw. Serv. Manag. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Assessing Container Network Interface Plugins: Functionality, Performance, and Scalability
IEEE Transactions on Network and Service Management ( IF 5.3 ) Pub Date : 2020-12-25 , DOI: 10.1109/tnsm.2020.3047545
Shixiong Qi , Sameer G. Kulkarni , K. K. Ramakrishnan

Kubernetes, an open-source container orchestration platform, has been widely adopted by cloud service providers (CSPs) for its advantages in simplifying container deployment, scalability, and scheduling. Networking is one of the central components of Kubernetes, providing connectivity between different Pods (a group of containers) both within the same host and across hosts. To bootstrap Kubernetes networking, the Container Network Interface (CNI) provides a unified interface for the interaction between container runtimes. There are several CNI implementations, available as open-source ‘CNI plugins’. While they differ in functionality and performance, it is a challenge for a cloud provider to differentiate and choose the appropriate plugin for their environment. In this article, we compare the various open-source CNI plugins available from the community, qualitatively, and through detailed quantitative measurements. With our experimental evaluation, we analyze the overheads and bottlenecks for each CNI plugin, especially because of the interaction with the datapath/iptables as well as the host network stack. Overlay tunnel offload support in the network interface card plays a significant role in achieving the good performance of CNIs that use overlay tunnels for inter-host Pod-to-Pod communication. We also study scalability with an increasing number of Pods, as well as with HTTP workloads, and briefly evaluate Pod startup latency. Our measurement results inform the outline of an ideal CNI environment for Kubernetes.

中文翻译:

评估容器网络接口插件:功能,性能和可伸缩性

Kubernetes是一个开放源代码的容器编排平台,由于其在简化容器部署,可伸缩性和调度方面的优势,已被云服务提供商(CSP)广泛采用。网络是Kubernetes的核心组件之一,可在同一主机内和跨主机的不同Pod(一组容器)之间提供连接。为了引导Kubernetes网络,容器网络接口(CNI)为容器运行时之间的交互提供了一个统一的接口。有几种CNI实现,可以作为开源“ CNI插件”使用。尽管它们在功能和性能上有所不同,但对于云提供商而言,要区分和选择适合其环境的插件是一个挑战。在本文中,我们通过定性并通过详细的定量测量,比较了社区中可用的各种开源CNI插件。通过我们的实验评估,我们分析了每个CNI插件的开销和瓶颈,特别是由于与数据路径/ iptables以及主机网络堆栈的交互作用。网络接口卡中的覆盖隧道卸载支持在实现使用覆盖隧道进行主机间Pod到Pod通信的CNI的良好性能中起着重要作用。我们还将研究越来越多的Pod以及HTTP工作负载的可伸缩性,并简要评估Pod启动延迟。我们的测量结果为Kubernetes提供了理想的CNI环境的轮廓。我们将分析每个CNI插件的开销和瓶颈,尤其是由于与数据路径/ iptables以及主机网络堆栈的交互作用。网络接口卡中的覆盖隧道卸载支持在实现使用覆盖隧道进行主机间Pod到Pod通信的CNI的良好性能中起着重要作用。我们还将研究越来越多的Pod以及HTTP工作负载的可伸缩性,并简要评估Pod启动延迟。我们的测量结果为Kubernetes提供了理想的CNI环境的轮廓。我们分析了每个CNI插件的开销和瓶颈,尤其是由于与数据路径/ iptables以及主机网络堆栈的交互作用。网络接口卡中的覆盖隧道卸载支持在实现使用覆盖隧道进行主机间Pod到Pod通信的CNI的良好性能中起着重要作用。我们还将研究越来越多的Pod以及HTTP工作负载的可伸缩性,并简要评估Pod启动延迟。我们的测量结果为Kubernetes提供了理想的CNI环境的轮廓。网络接口卡中的覆盖隧道卸载支持在实现使用覆盖隧道进行主机间Pod到Pod通信的CNI的良好性能中起着重要作用。我们还将研究越来越多的Pod以及HTTP工作负载的可伸缩性,并简要评估Pod启动延迟。我们的测量结果为Kubernetes提供了理想的CNI环境的轮廓。网络接口卡中的覆盖隧道卸载支持在实现使用覆盖隧道进行主机间Pod到Pod通信的CNI的良好性能中起着重要作用。我们还将研究越来越多的Pod以及HTTP工作负载的可伸缩性,并简要评估Pod启动延迟。我们的测量结果为Kubernetes提供了理想的CNI环境的轮廓。
更新日期:2020-12-25
down
wechat
bug