Alternative ELI5 for Kubernetes

As of late I have been studying for the Certified Kubernetes Administrator (CKA) certification. I’ve been using the excellent KodeKloud CKA course (see below for links!) and I found their ship analogy to be a strong way to simplify the Kubernetes architecture & components. I was considering the analogy last week and questioned if there’s an alternative analogy that would be accessible to individuals that don’t have a clear conceptual understanding of ships.

My son is 3.5 years old and is often interested in what I am doing. He does not have a strong conceptual understanding of ships or boats. He does have an understanding of schools and how they function (albeit currently limited to his kindergarten environment). I appreciate we are 1.5 years early, but it gives me time to finesse things :)

ELI5 - Kubernetes School

When we consider the Kubernetes architecture & components, I believe we can map this neatly to a school environment. Admittedly, some of the analogous components are a reach but in the round the overarching analogy is fairly solid.

This post will set out the cast of the analogy and subsequent posts will dive into each concept in greater detail. For now, the cast of the analogy…

SchoolKubernetesReasoning
StudentContainerA running doer/learner. The student occupies a seat, expends mental & physical resources (CPU/mem), can misbehave and be sent out (crash → restart), crucially a student is placed into a room, does not own it.
DeskPodA desk usually maps to one Student. Sometimes the desk may be provided to a student + a dedicated one-to-one aide, both sharing the same desk and notes. The desk is the unit that gets placed.
ClassroomNodeThe Classroom has finite seats and hosts many desks at once. Classrooms can be closed for redecorating (cordon/drain). A classroom can also be torn down which also takes down the desks within it.
Room caretakerkubeletSets up each desk in the classroom and reports the status, “classroom is fine, lesson is running”, back to the front office. One per classroom.
TimetablerSchedulerAssigns students to classrooms by their fit (free seats) and by room requirements (lab, gym).
Head OfficeYou (kubectl apply)Authors the school syllabus — the desired state.
RegisteretcdOne book, two columns: syllabus (desired) and progress (observed).
TeachersControllersTeachers compare the current syllabus against current progress, Teachers work toward the goal of completing the syllabus and reporting back current state. Teachers are key in the reconciliation of current vs. target state via Front Office.
Front OfficeAPI serverThe only thing allowed to write to the Register. Everyone that wants to read/write must use the Front Office.
AdministrationControl planeHead Office + Front Office + Timetabler + Teachers. Not “the whole school” — the school includes the students.

Looking Forward

Next post will be breaking down the Student <> Container analogy and looking at how the considerations for Containers knit up with considerations for Students.

Links