Kubernetes in Action

I’ve recently finished reading the “Kubernetes in Action” book by Mario Luksa and wanted to do a small review about it.

First of all, yes, the «In Action» part is completely justified – along with the theoretical concepts author gives the sample .yaml files and encourages the reader to run them either locally (in Kubernetes-in-docker or minikube) or on Google Compute Engine.

Just FYI the last option will cost you nothing if you can finish the book before spending the 300$ of the GCE demo account balance (I couldn’t).

The book has 18 chapters, each takes about 1 hour if you just read it, and many more if you decide to play around with the cluster using the examples.

What I really liked is how the book goes from simple to more advanced things and explains more complex topics through what you already know.

You start easy – the first 2 chapters are about microservices in general and setting up Docker and Kubernetes.

Starting form chapter 3 the hardcore begins: Nodes, Pods, Labels, Label selectors, Namespaces (chapter 3); Liveness probes, Replication Controllers, ReplicaSets, Jobs, CronJobs (chapter 4); Services, readiness probes (chapter 5) and so on.

That goes all the way till chapter 10, which explains StatefulSets.

Then the last part of the book begins.

Chapter 11 is called “Understanding Kubernetes internals” and that is by far the best one in the whole book. It takes all the concepts you desperately tried to keep in your head for the last 10 chapters and explains what happens behind the scenes when you kubectl apply -f deployment.yaml . It also nicely shows the idea behind Kubernetes itself, that every component is extremely simple and does its own single task. If you only have time to read one chapter, read this one.

The seven final chapters are related to more advanced topics – securing the cluster (RBAC), setting quotas for resources, setting pod autoscaler and finally in chapter 18 you create your own custom resource and configure a Controller that cares about it.

Note that this book is exclusively about core Kubernetes, it doesn’t touch any of the high-level topics like Service Meshes, Service proxies, Helm Charts etc.

But still it is a lot of information, and that is my biggest complaint about the book – keeping track off all the many new words that you’ve just learned and remembering their meaning is very tiresome. Something like a self-test quiz after every chapter would’ve helped a lot.