I went very thoroughly over the official Kubernetes docs and tutorials before going into the book, with the hope that I'll fill the gaps that the Kubernetes docs had - oh, how wrong I was.
Having ran some demo apps in Kubernetes, I can say that this is one of the worst books I've ever read. It feels like scraps from web tutorials that are stitched together into one giant mess with a price tag.
Full of significant typos and I'll definitely go into details what exactly is wrong in every chapter:
Chapter 1 - Brief overview of why to use Docker, containers and microservices. Very brief, but that's ok it's not expected to jump into depths. Then it goes into running our first Kubernetes cluster which starts off well by guiding you how to setup a GCE Kubernetes cluster, destroy it, setup an AWS Kubernetes cluster, destroy it and then tell you to setup a GCE Kubernetes cluster again since you're going to use that for the rest of the book. Ok... why delete the GCE Kubernetes cluster in the first place? Mind me, the Google Cloud Platform is not free and setting up clusters is slooow. This is literally a 30 minutes waste on my internet connection. Okay, then it goes through some 1 page text and screenshot of kubernetes features.
Chapter 2 - Starts with a brief overview of the Kubernetes concepts and architecture. Just standard copy-paste text from the official documentation and the first original Kubernetes POD in the book. And in just a few commands you face the first of many typos and mistakes in the book - author tries to run kubectl exec on a pod named "node-js-pod-curl" instead of "node-js-pod" and command "curl". Then some paragraphs for Labels, Services, Replication Controllers - the Services part is actually not bad. Then first "Kubernetes application" and of course a typo in the labels definition. The "deployment: demo" key-value label is never ever used in the chapter again, meaning if you didn't know that your ReplicationController and Service won't be created and you'll be greeted with an error that your template's metadata labels don't match the ReplicationController and Services's label selectors - have they even run this sample before publishing it?
Chapter 3 “Core Concepts - Networking, Storage and Advanced Services”- The most important chapter in the book since you’re going to deploy multiple microservices… is very rushed.It starts off well by comparing the Kubernetes networking to other popular container networking such as in Docker, Fannel and Calico. Then when it gets to example Kubernetes files and they’re all rushed. They barely get the point and don’t show you how to prove that it works beyond a simple describe. By learning a new technology it’s usually the best to show as many as possible ways to figure out if the networking worked and services are discoverable. Author doesn’t put effort into this and just skims over very important topics. The Service discovery and DNS sections are totally useless. Persistent Storage is better written and I might say it does a good introductory job.
Chapter 4 “Updates and Gradual Rollouts” is the only really on-point chapter in this book. I had close to no problems with it except again some typos. Overall it shows meaningful usage and Kubernetes solutions.
Chapter 5 “Continous Delivery” one of the bad advice-type chapters. Shows you how to do CI/CD with Kubernetes and Jenkins. So it starts by having you add a Gulp.js script that wraps the git clone repo, build docker image, run pod and update ReplicationController and Services.
And it ends here with the CI. No Jenkins job, nothing. Rushed. Also why add Gulp.js in the first place when you can either directly run the commands in a Jenkins job’s run shell, ansible playbook, simple bash script or even the more recommended JS way - npm scripts in package.json. The second part that sets up a Kubernetes cluster of build agents barely does anything, again. Ad-hoc Jenkins server, no integration and real-world usability - could’ve shown you how to do it intelligently with a Jenkins ReplicationController and Service, but no - jumps straight to setting dead stupid Kubernetes plugin configuration that is pasted from the plugin’s official documentation.
Chapter 6 “Monitoring and Logging” is a broad overview of various monitoring and logging approaches . Nothing too specific. It’s not really an useful chapter to use with anything you made so far since it shows you how to run ad-hoc commands and get the desired tool running (with few minor problems), but not integrate it with the Kubernetes services you’ve made so far.
Chapter 7 “OGI, CNCF, CoreOS and Tectonic” is the chapter that you can easily skip. It’s just a copy paste info from the internet about each tech, organization’s meaning and purpose.
Chapter 8 “Towards Production-Ready” really offers nothing to the table. It’s more like a retrospective-type chapter that tries to assure you that you’ve done everything right so far.