Susan Harkins (408) [Avatar] Offline
Please post errors found in the published version of Kubernetes in Action here. If necessary, we'll publish a comprehensive list for everyone's convenience.

Thank you!
Susan Harkins
Errata Editor
Marko Lukša (68) [Avatar] Offline
Figure 11.1: Bottom right should read "Container runtime" instead of "Controller runtime"
436901 (1) [Avatar] Offline
Page 70.
You wrote "You’ve included the labels creation_method=manual and env=data.labels section." but it should be "You’ve included the labels creation_method=manual and env=prod in metadata.labels section."

Thank you.

Marko Lukša (68) [Avatar] Offline
The word "pod" in the 2nd line of listing 4.1 should be capitalized; the line should thus read:

kind: Pod

The same also applies to listing 3.5.
David M. Karr (83) [Avatar] Offline
In section "13.4.3. Isolating the network between Kubernetes namespaces", the detail for listing 13.23 refers to "microservice= shopping-cart", but I believe that should be "app=shopping-cart".
523004 (1) [Avatar] Offline
Page 183 (6.5.6 Recycling PersistentVolumes) ends saying:
"The Delete policy, on the other end, deletes the underlying storage. Note that the recycle option is currently not available for GCE Persistent Disks. This type of"

Then Page 184 starts with:
"A PersistentVolume only supports the Retain or Delete policies."

It looks like the end of page 183 and the beginning of page 184 don't match. Probably some line is missing.
Jason Fillo (1) [Avatar] Offline
Page 38
Installing the Kubernetes Client (kubctl)

"To download kubectl for Linux or Windows, replace darwin in the URL with either linux or windows."

For a windows installation download link, you should also append '.exe' to the end of the url to ultimately end up with:
401434 (1) [Avatar] Offline
On page 136 the output of the kubectl get svc kubia-nodeport command shows that the cluster-ip is

The following paragraph states that the service is accessible at, when this is likely to be
Merijn (1) [Avatar] Offline
page 291. "If you're using MiniKube, deploy the PersistentVolumes defined in the Chapter06/persistent-volumes-hostpath.yaml in the book's code archive. "

This file does not exists in:
* file that can be download from
Henk (1) [Avatar] Offline
Page 146, Listing 5.14 "- path: /foo" should read "- path: /bar"
William (2) [Avatar] Offline
Listing 16.4, page 461:

`Operator: Equal` should be `operator: Equal` (lowercase "operator").

tom.geudens (4) [Avatar] Offline
directory that will be mounted should not be created
On page 164, the script inside Docker image that is created contains
mkdir /var/htdocs

However, the whole point of the exercise is that a volume is going to be mounted at /var/htdocs. So if you create the directory in the script you are cheating as you then won't get an error if the mount fails. It should work without that mkdir.
tempusfugit (144) [Avatar] Offline
Page :140

5.3.2 Exposing a service through an external load balancer - Connecting To The Service Through The Load Balancer

With kubectl explain, you can double-check that the service’s session affinity is still set to None,

should be

With kubectl describe, you can double-check that the service’s session affinity is still set to None,

272708 (2) [Avatar] Offline
A few persistent volume manifests refer to using
fsType: nfs4
when it should be
fsType: ext4

The code samples in the livebook are correct, but the code samples for download are incorrect.

A few examples that I found:
  • Chapter06/mongodb-pv-gcepd.yaml

  • Chapter06/mongodb-pod-gcepd.yaml
  • Susan Harkins (408) [Avatar] Offline
    A comprehensive errata list for Kubernetes in Action is available at Most items on this list have been corrected in the print version; updates are pending for mobiles and LiveBooks.

    Thank you for contributing to this process. You help us and other readers.

    Susan Harkins
    Errata Editor