Understanding Kubernetes in a visual way - behind the scenes

Aurélie Vache - Jun 1 '20 - - Dev Community

Understanding Kubernetes can be difficult or time-consuming. In order to spread knowledges about Cloud technologies I started to create sketchnotes about Kubernetes. I think it could be a good way, more visual, to explain Kubernetes (and others technologies).

I started the 4th of April the first Kubernetes sketchnote.
After almost two months, I've published all the Kubernetes sketchnotes (and new ones!) in a book of 120 pages: "Understanding Kubernetes in a visual way".

Alt Text

The book cover:

  • Kubernetes components (etcd, API-server, scheduler, kubelet, controller manager, proxy...)

  • Resources (Pods, Jobs, CronJobs, ConfigMaps, Secrets, Deployments, ReplicaSet, DaemonSet, Services, Ingress, PV, PVC...)

  • QoS, Horizontal PodAutoScaler, Pod & Node Affinity, Network Policies...

  • And also concrete example for operations you can do on Nodes

  • Debugging / Troubleshooting Kubernetes

  • Tips

  • Useful tools to use

Here the table of contents:

Alt TextAlt Text

The whole book includes "How To" with concrete examples for all concepts and illustrations that allows to understand abstract concepts.

Almost two months of work.

It's cool but, let's talk how theses sketchnotes and how this book have been created.

Behind the scene

Since the beginning I receive severals questions about the material.

Material

I use, for the moment, a Samsung Galaxy S4 Tablet 10.5", with the pencil and the software Samsung Notes.
I sketch and draw everything manually.

It's not the most efficient material but I used what I have ;-).

Alt TextAlt Text

This material have many limitations I've already reached:

  • Samsung Pencil: the pencil is not very accurate
  • Samsung Pencil: the button in the pencil which allow you to switch to pencil to eraser is not in a good place. In many of situations I click on it but I don't want to remove the line I just draw :-D.
  • Samsung Pencil: If I want to draw a tiny round, 9 times on 10 the software don't draw it, because if the lack of accuracy
  • Samsung Notes: When I sketch I don't have the information of the future end of jpg/pdf page so I sketch, I export in pdf, I watch the pdf which split my draw in several pages and I need to edit my sketch a lot of time in order to not have a draw split in two part in his middle... It's useful to know where a page start and where it's his end, and I don't have this information.
  • Samsung Notes: the export in JPG format is in very poor quality
  • ...

I want to continue my series of sketchnotes and books so,
in the future I plan to upgrade my material to:

  • an IPad Pro 11"
  • the Pencil 2
  • and ProCreate software

The second version of the Apple Pencil have more accuracy and it's important when you draw or sketch. So I recommand this material instead of mine.

Sketchnotes

For one sketchnote it took me several hours or days, depending on the complexity of the concept and the things I want to say about it.

Each sketchnote I draw are exported in PDF format, even if the export in JPG format is allowed. Why? Because the JPG export in Samsung Notes have a very poor quality :'(.
So I first export in PDF and then transform the PDF to JPG in order to publish them in an article, in order to keep a minimum quality.

Each sketchnote are exported in a PDF file that I stored in a Google Drive folder.

1.kubernetes-pod.pdf
2.kubernetes-cronjob.pdf
...
Enter fullscreen mode Exit fullscreen mode

Then I write the article on dev.to platform, I transform PDF to JPG with ILovePDF website, my favorite pdf tool. I crope each JPG in order to remove blank part and then I upload them, in the good order.

I do that work for every sketchnotes of the serie.

Book preparation

Well, I have more than 30 part of the serie about Kubernetes, but the order I have published the sketchnotes is not the order that I want in the book so I work several hours in order to think about a more coherent order.

I draw several new sketchnotes and new pages:

  • front cover
  • thanks and changelog
  • table of contents
  • back cover

I created another folder in Google Drive, copy paste all pdf files on it and rename them with the number of pages they will appear in the book:

p0.cover.pdf
p1.thanks.pdf
p2.table-of-contents.pdf
p4.kubernetes-components.pdf
...
Enter fullscreen mode Exit fullscreen mode

I then created a big PDF file with ILovePDF tool and organized it, several times because the free account have some limitations.

Review

In my point of view, i can't publish a book, I can't publish a long article, I can't push a new feature without a review so I ask Gaelle to do the review of my book.
I share the pdf and she added few comments on it.

After a whole day, I edited almost all the sketchnotes, I re created the PDF, I changed the table of content and taadaaa the book was ready for publishing!

Finally, I created, in less than two months, a book with 120 pages of sketchs and draws about a Cloud technology: Kubernetes.
It's not a conventional book. It's a serie of sketchnotes that I hope it allows you to understand better, in a visual way, with simply words, complex concepts.

Publishing

I compared several of publishing platform and two of them was in my top:

With LeanPub you can write the book in MarkDown directly in the platform.
With GumRoad you can directly upload a PDF.

Theses two platform allows you to publish several books for free but they took a commission ;-).

I prefer the GumRoad website ergonomy in PC, tablet and mobile and the main reason why I choosed it is you can publish your book for "free price: 0€" and the person can pay what they want.

So since the 31th of May, my first book is available on GumRoad: Understanding Kubernetes in a visual way

Post-production

I forgot to create a table of content directly in the PDF so I created it manually through PDFEditor tool, few hours after book was published and upload it in v1.0.1.

Before:
Alt Text

After:
Alt Text

Updates (2020-06-27)

Since the version 1.0.2 of the Kubernetes book, I no longer use PDF Editor (because the trial version have been expired ^^) but now I use a Python tool and it's better! :-)

1. Install PDFBookmarker

Tool: https://github.com/RussellLuo/pdfbookmarker

$ pip install pdfbookmarker
Enter fullscreen mode Exit fullscreen mode

2. Create a text file that defines the list of bookmarks and the page related to

$ vi bookmarks-v1.0.2.txt
+"Cover"|1
+"Thanks"|2
+"Table of contents"|3
+"Kubernetes components"|5
+"Kubectl tips"|10
+"Namespaces"|13
+"Resource Quotas"|15
+"Pod"|16
+"Pod lifecycle"|18
+"Container lifecycle events"|20
+"Liveness & Readiness"|25
+"Job"|30
+"CronJob"|35
+"Configmap"|38
+"Secrets"|41
+"Deployment"|43
+"Deployment rolling update"|45
+"Pull images configuration"|49
+"ReplicaSet"|52
+"DaemonSet"|53
+"Service"|57
+"Ingress"|60
+"PV, PCV & StorageClass"|64
+"Horizontal Pod Autoscaler"|71
+"LimitRange"|73
+"Resource's requests & limits"|76
+"QoS"|79
+"Network Policies"|83
+"Pod (Anti) Affinity & Node (Anti) Affinity)"|88
+"Node operations"|95
+"Debugging/Troubleshooting Kubernetes"|99
+"Tools"|106
++"Kubectx"|106
++"Kubens"|107
++"Stern"|108
++"Krew"|109
++"K9s"|110
++"K3s"|110
++"Skaffold"|111
++"Kustomize"|112
++"Kustomize tips"|115
++"Trivy"|118
++"Velero"|119
+"Kubernetes 1.18"|121
+"Back cover"|125%
Enter fullscreen mode Exit fullscreen mode

3. Generate a new PDF with table of contents/PDF bookmarks

$ pdfbm understanding-kubernetes-in-a-visual-way-aurelie-vache-1.0.2.pdf bookmarks-v1.0.2.txt
In processing, please wait...
New PDF generated: understanding-kubernetes-in-a-visual-way-aurelie-vache-1.0.2-new.pdf
Enter fullscreen mode Exit fullscreen mode

And that's it!

Conclusion

There are several task that I done manually and for the futures books I want to automatize them:

  • merge of the pdf files in one big pdf
  • creation of table of content in the pdf (which I created through PDFEditor tool)
  • ...

If you like my series of articles and you want to contribute for the material upgrading, the book is available with "free price / pay what you want".

I love to share my knowledges and to help people so if you don't have many money, you can download it for free. The only thing I ask is to share to your networks.
If you like my work and want to contribute, you can too, it will help me to improve the material in order to continue all the ideas I have for severals series of sketchnotes about Istio (serie in progress), DevOps, Microservices, Golang ... :-).

I hope the book and the sketchnotes series about Kubernetes will help you in your Kubernetes journey.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .