Installing Kubernetes over Baremetal or Virtual Machine (Telco workloads)

pablo_montes
2 min readNov 4, 2020

A discussion that has been long over the table and will continue is with regards performance of deploying K8s over virtualized environments.

In order to ease understanding the impact of each component in containers performance, two classifications have been done. A first a classification just taking into account CPU and memory considerations shows the type of performance we should expect if no other components would impact it. Then a second classification introduces networking considerations, showing how setups that would look like high performance ones might not be so optimal depending on the networking choices.

It is important to remark that these classifications are intended for Telco Intensive I/O workloads and attend to which configurations would provide maximum performance for the workloads. If the criteria were for example how to maximize hardware usage or how to isolate workloads these classifications would be completely different.

Importance of CPU and memory pinning

In this first approach for classifying possible Kubernetes setups only CPU and memory are considered. Six different setups Bare-Metal or VM based are presented and classified according to their expected performance.

The following figure summarizes the different K8s setups considered assigning them a color classification according to the level of performance (red=bad/yellow=medium/green=good).

The following video explains these different setups and why they have been classified in that way:

Importance of networking

Now that the impact of EPA has been introduced, this classification can be repeated but including networking, which is a big topic for intensive I/O workloads.

Intensive I/O workloads would require dedicated interfaces for high volumes of data, and these interfaces should ideally avoid the overhead introduced by SDN layers in order to obtain maximum performance.

The following figure summarizes the different K8s setups considered using the same color classification. As stated before,it has been done using as criteria the ability to provide maximum performance capabilities to a workloads designed to be I/O intensive.

The following video explains these different setups and why they have been classified in that way:

Conclusion

In summary, whether to use Kubernetes over Baremetal or over Virtual Machine should not depend on performance since, when using the appropriate setup, PODs can be granted the same capabilities in both cases.

Considering hardware efficiency, having to maintain the VIM layer, the additional costs of the VIM licenses or the level of isolation among workloads will make the difference to choose between these two options.

--

--