Getting Started with Kubernetes: Orchestrate and manage large-scale Docker deployments with Kubernetes to unlock greater control over your infrastructure and extend your containerization strategy
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.
Not deep at all. It talks about many things without diving too much into it: copy and paste this, run that, that's it. And just in the first chapters there were screenshots that didn't coincide with the description below. Later chapters name LOTS of things and services and applications without much more content than a "hey, Sysdig is great, you use it like this or check the man page".
Over the past three years, containers have grown in popularity like wildfire.
Ask any Californian or Australian how popular wildfires are. This mishmash of clichés raised a red flag. An incorrectly-placed comma on the next page confirmed that neither the author nor editor had paid much attention to this book. Several terms introduced without context or explanation raised a second red flag: that maybe the content is as sloppy as the writing. So I skimmed through a few pages at random and found that it seems to skip from topic to topic without really saying much about any of them. This was echoed in a lot of reviews. I have several libraries' worth of books, and an Internet full of tutorials, so I don't feel bad about tossing this book on the "don't bother" pile.
High level overview of Kubernetes. Started out with instructions on how to install a whole stack. Shame that minikube was not mentioned for running Kubernetes locally. Went on to working with some examples which built on each other. Would have been nice if the first was more fully explained. For example, how important is the "name" attribute? In a Service's selector which item's labels are searched? RC, RS, or the pods they create? All the examples use the same name and label for everything which reduces clarity of what is happening. Or maybe names and labels should be the same? Book doesn't specify.
In later chapters the book lost focus and became vague. "Look at all these other things!"
Although the 2nd Edition was released in the 2nd Quarter of 2017, Kubernetes development is quite fast, and there would be some dangling points as you read along the book and try the examples. There are various resources (videos, books, tutorials) to get started with Kubernetes, this book is not one of them.
As kubernetes moves so fast, this book is not up-to-date as its current state, but it shows you a roughly overview what kubernetes can do and how it integrates with others.
"Getting started" by copying recipes w/o clear introduction to key platform architecture constructs. Problems with chronology (terms used before any kind of clarification what they mean). No reference to alternatives & why to go (or not go) for Kubernetes. CI/CD chapter is just ... meh, I'm not even going to waste keystrokes on writing about it.
This reminds me the worst PackPub books - tutorials ripped from the web without much clarification. Smells like barely any effort by an author, to be honest.
To summarize: if you're looking for the Kubernetes book, you should rather wait for Hightower's one (O'Reilly) - even its early access is clearly far, FAR better than this ... thing.
Going through this book you will learn the basics of Kubernetes. I do however believe the Google tutorials are just as good, it will both save you time (by being more concise) and money.
The last couple of chapters did not have a lot to offer - some sections in fact seemed rather unnecessary.
It's pretty good. Doesn't cover a lot of depth and is very focused on Google's cloud technology. But covers the basics and I feel pretty well-oriented with the technology after reading this.