How cool would be it if a Sales Engineer could run a tool in the customer's site that measures the network performance to demonstrate how fast our K8s platform is? What if the customer could do that herself/himself to provide useful information to our support team in order to find the source of a bug? What about using such tool for our CI to discover potential performance regressions? What if the tool was smart enough to change configurations on the fly and run optional tests based on the measurements it collects? It is obvious there is a wide variety of use cases where we could benefit from such tool.
I have been learning Kubernetes and go for a few months and now it is time to combine both! This tool will use a K8s controller that will create pods to do the measurements and then fetch the results. Based on those, it will decide to just return those values or change config and run extra tests.
GOAL: Learn how to build a K8s controller, build a beta version of a controller that does all the described points, gain extra go learnings on the way. BONUS ==> Be able to present the data in a graph
This project is one of its kind!