Anuket Project
K8S Container Networking Benchmarking (Telco Usecases)
(Work in progress)
Description
This work aims to add multiple-interface container Networking benchmarking support in VSperf. In this project, we will focus on container networking with Kubernetes. There are various plugin options that are available to achieve cluster networking, as described here. Considering various options for container networking, it is important to understand and benchmark the performance of these networking solutions. Today, there exists few works that studies the container networking performance. However, none of them consider "Multiple Data Interfaces" and majority of them do NOT use high-performance traffic generators and analysis tools, or run on high-performance servers that are used in NFV. VSPERF, which provides detailed configuration and control, is ideal project to include testing and benchmarking container networking solution. This work will be COMPLIMENTARY to CNCF Testbed activities. This work also gains significance with CNTT-RA2, which is Kubernetes based.
VSperf plans to use CNI network model for deploying container networks and Multus plugin for adding multiple interfaces to Kubernetes Pods. It is to be noted that CNI network model and Multus are used for setting up (and deleting) multiple interfaces based container network. The 3rd party CNI plugins such as ovs and vpp will be used to build the actual dataplane on which data traffic will flow.
Objectives
Automated container networking deployment and performance testing.
Study and present an in-depth analysis of methodologies to measure container networking performance (using high-performance traffic generators and analysis tools)
Provide a comparative analysis of various container networking solutions using results to the LFN community.
Work in close with BMWG to provide feedback on "Considerations for Benchmarking Network Performance in Containerized infrastructure" work.
Provide feedback to CNTT for RA2, RI2, RC2
Provide feedback to ETSI on container network benchmarking methodologies.
Testbed Setup
Pod: Pod12.
Nodes: Node1 and Node2
Worker Node: Node1
Master Node: Node2.
Software Trafficgen Node: Node2
OS: Centos
Project Plan
Metrics Collection and Visualization
VSperf collects various metrics/results like TrafficGen data traffic results, Infrastructure metrics, Environment Information, Container metrics using tools like collectd, cAdvisor, pidstat, beats, prox, crond, etc..
VSperf also has various dashboards(Grafana, Kibana) to visualize these metrics live when tests are running.
Project Members
Phase-1 Action Plan:
Sl. No. | Parth Yadav | Emanuele Urselli |
|---|---|---|
1 | Network Configuration for K8s with K8s Deamonset/CNI plugins (yaml files) | Installation of Kubeadm, Kubectl, Kubelet (using Ansible) |
2 | Deploy Pods based on testing scenarios (yaml files) | Cluster creation using Kubeadm (using Ansible) |
3 | - | Deletion of K8s cluster (using Ansible) |
4 | End to End Testing. | |
References