This article is an update of my previous benchmark (2018 and 2019), now running Kubernetes 1.19 and Ubuntu 18.04 with CNI version up-to-date in August 2020.
Contents :
TL;DR : For those in a hurry, please check sections 3 and 4 for graphs, or sections 5 and 6 for my views on the benchmark results and their interpretation.
This article is a bit old now, it has been updated. Check it out !
This article is an update of my previous benchmark, now running on Kubernetes 1.14 with CNI version up-to-date in April 2019.
First of all, many thanks to Cilium team who helped me by reviewing and correcting my metrics monitoring scripts.
If you just want to know what has changed since last time, here is a quick summary :
Flannel is still one of the fastest and leanest in the CNI competition, but still does not support NetworkPolicies, nor encryption.
Romana is not maintained anymore, so we decided to get it out of the benchmark. …
As a Kubernetes administrator, I usually deploy standalone kubernetes cluster to test some features, applications, or even kubernetes tooling. But in this case, it takes some time to deploy Kubernetes, CNI, storage solution, load balancer service implementation, ingress controller, monitoring, logging, etc. With Kubernetes-ready cloud distribution like GKE, or DigitalOcean, it is fair simple, but how to do the same with bare-metal ? This may, of course, include your linux VM on your machine …
k8s-tew is a single binary written in GO, with no external dependency, that will easily deploy a Kubernetes cluster over bare-metal (understand : no cloud provider required) even for a single node test-bench for your POCs. …
Long story short, here are two cheatsheets for Kubernetes (tested on 1.13), one in English, and one in French. It will give you some useful commands using kubectl, kubectx, kubens, kubetail, … and also some manifest samples for Ingress and PersistentVolumeClaim.
You can find the English version in PDF format at: https://ibd.sh/cheatsheet-k8s
And the French PDF version at: https://ibd.sh/memo-k8s
Here is a preview of the English version :
And the same in French :
This article is a bit old now, it has been updated. Check it out !
Kubernetes is a great orchestator for containers. But it does not manage network for Pod-to-Pod communication. This is the mission of Container Network Interfaces (CNI) plugins which are a standardized way to achieve network abstraction for container clustering tools (Kubernetes, Mesos, OpenShift, etc.)
But here is the point : what are the differences between those CNIs ? Which one has the best performance ? Which one is the leanest ?
This article is showing the results of a benchmark I’ve conducted on 10Gbit/s network. These results were also presented during a conference at the Devops D-DAY 2018 in Marseille (France) on November 15, 2018. …
About