Long time ago, I was studying at Imperial College and took a course on Advanced Computer Architecture.<p>First day of the course, the prof gave us some C code that multiplied randomly generated matrices of a given size.<p>Rest of the semester, we would compile the code (with interesting flags), run it under a loop (with increasing size) on random machines and then try to deduce the architecture features of the machine by looking at the run-time chart.<p>We didn't look at many block diagrams but we learned a lot and we had a lot of fun.<p>---<p>In 2019, we decided to run a Kubernetes workshop in PyConUK, and thought it would be fun to try and follow the same principle as that course.<p>This is a writeup for that workshop.<p>It was very well received and so we thought that we should publish it as a tutorial - which is easier said than done. We have been working on it off-and-on for the past year or so. Please give it a read, tell us how we can improve it and see if you also enjoy learning by tinkering :)