The Ultimate Guide to Kubernetes Books: From Beginner to Certified Expert

The Ultimate Guide to Kubernetes Books: From Beginner to Certified Expert

June 26, 2024
23 views
Get tips and best practices from Develeap’s experts in your inbox

While studying for the Certified Kubernetes Administrator certification last year, I wanted to take a deep dive into Kubernetes topics, both those covered by the certification and beyond.

As a develeap employee, I had access to all of develeap’s courses which I used to learn more about Kubernetes. Alongside that, I wanted to supplement my learning with books and practice labs. After I earned the CKA certification, I decided to share my impressions about these resources. In part one of this article series, I will review several of the books and written materials that I have read while learning about Kubernetes (part two will focus on Kubernetes practice labs).

The Book of Kubernetes

Author: Alan Hohn

Publisher: No Starch Press

Publication Date: August 2022

Link: No Starch Press | Amazon | Penguin Random House | O’Reilly

The Book of Kubernetes (not to be confused with The Kubernetes Book by Nigel Poulton, which I have not read) is written by Alan Hohn and published by No Starch Press. I was already a fan of No Starch Press, having read many of their previous books, and this book was brand new when I first read it, so it was naturally my first choice when wanting to read more about Kubernetes.

This book serves as an introduction to Kubernetes. Although it assumes some sysadmin knowledge (and gets quite technical fairly fast), you don’t need to know anything about containers, as everything is explained—especially in the first part.

The book is split into 20 chapters across three parts. The first part, “Making and Using Containers,” serves as a fairly comprehensive overview of what containers actually are, as well as their benefits. In fact, I would go as far as to say this book might be the best explanation I’ve read about containers; too often I see simplified explanations about containers boiled down to “containers are like virtual machines but not really”. This book actually goes through the effort of explaining the technical underpinnings of containers, and how they use the fundamental capabilities of the Linux kernel, like namespaces and cgroups, to provide containers process isolation, resource limiting and network namespaces. This is first explained using Docker, the most used container tool, but later on the chapter shows how to achieve the same results using containerd as well as CRI-O and crictl. Showing how the same container image can be run through different container runtimes and tools, helped me understand the universal nature of OCI containers and the way Kubernetes can interface with containers through the CRI protocol.

The next two parts, “Containers in Kubernetes” and “Performant Kubernetes,” focus on many important Kubernetes topics. Along the book are examples which you can deploy yourself from the book’s GitHub repo. These are automated exercises that can be deployed using Ansible and run on either Vagrant (virtual machines) or AWS. These examples are very useful for hands-on understanding of the topics, and having them all automated while offering different ways to deploy – makes them very useful.

I will note that this book isn’t specifically designed to prepare readers for the Certified Kubernetes Administrator (CKA) exam. While it covers many relevant topics, there are some key CKA subjects not included, and conversely, some topics explored here might not directly align with the CKA curriculum (for example, Custom Resource Definitions). This, however, isn’t a drawback – the book excels in its own right, just keep this in mind if your primary goal is CKA certification.

Certified Kubernetes Administrator (CKA) Study Guide

Author: Benjamin Muschko

Publisher: O’Reilly Media, Inc.

Publication Date: June 2022

Link: O’Reilly | Amazon | eBooks.com

My one “complaint” about the No Starch book was that it was not a CKA study guide (it was not really a complaint, just an observation). Well, this book is! After No Starch Press, my other favorite publisher for technical books is O’Reilly, which has maintained a high standard for decades.

This book has everything you’d expect from a study guide. There are detailed explanations of everything you need to know in the CKA curriculum. There are useful tips for the exam and practice questions which are at a good level. For some of the practice questions you get automated Vagrant environments from the book’s GitHub repo, however for many questions you will have to set up a practice cluster yourself (or use Killercoda).

In some places the book mentions optionally using Kubernetes environments in Katacoda. This was a service offered by O’Reilly, unfortunately public use of Katacoda was recently shut down. This decision must have happened around the same time this book was published, but due to the unfortunate timing, Katacoda is still mentioned in this book. Fortunately this book does not really rely on using Katacoda to understand its material, it is merely offered as another option for practice. Now, Killercoda is available as a form of replacement for Katacoda (reviewed below).

Overall this book serves its purpose well as a written CKA study guide.

Learning CoreDNS

Author: John Belamaric, Cricket Liu

Publisher: O’Reilly Media, Inc.

Publication Date: September 2019

Link: O’Reilly | Amazon | eBooks.com

This book is, of course, about CoreDNS, the modern DNS server used for Kubernetes. Despite being about CoreDNS, it also focuses on Kubernetes networking and service discovery. It’s a good read for anyone who wants to understand Kubernetes networking on a deeper level. It’s more detailed than what is required to know for the CKA exam, but more knowledge is always good.

The book starts by explaining what CoreDNS is and why a new DNS for the container and micro-service was needed. It compares CoreDNS with BIND 9 (a more traditional DNS server), and explains the pros and cons of each. Spoiler: CoreDNS is not necessarily a replacement for BIND 9, they have different usages.

The book then dives deeper into how CoreDNS works with Kubernetes and etcd for service discovery, and delves into modern workflows and best practices (including Prometheus monitoring).

If you want to understand CoreDNS well, then there is probably no better book. For learning Kubernetes networking specifically for the CKA exam, this book is not the best option as it focuses on concepts that are not that important for the exam itself, while at the same time not delving too deeply into concepts which are important (such as Kubernetes Ingresses).

Kubernetes Documentation

Link: https://kubernetes.io/docs/

Of course, this is not a book but a website, one that everyone working with Kubernetes must be familiar with—and especially anyone taking one of the certification exams where this resource is allowed.

The Kubernetes Documentation has tons of relevant information; almost everything you would need to know for the CKA and CKAD exams is included in these docs. Of course, the documentation goes beyond what you need to know for the exams. If you want to become an expert on everything you can do with “stock” Kubernetes, you could read the entire documentation. Or you can focus on reading the sections that are most relevant to you.

Since I used other resources to study for the CKA certification, I did not read the documentation cover-to-cover ^1. I did, however, use the documentation frequently to reiterate the concepts that I learned, as well as during practice labs and mock exams. Whenever I needed to find out how to do something in Kubernetes, rather than searching Google, I searched through the Kubernetes Documentation first. For example, say I wanted to find a YAML template for deploying a PersistentVolumeClaim; I would go into the Kubernetes Docs and type “PVC” into the search bar, then click “**Configure a Pod to Use a PersistentVolume for Storage,”** which explains PVCs and other relevant concepts.

I found this learning method to be very effective. When preparing for the CKA/CKAD exams, you should be adept at finding relevant information from the documents quickly and efficiently. This is why I recommend using the documents as much as possible while studying. You don’t have to read everything in the documents, but you should be familiar with the content they include and how to find it using the built-in search.

I highly recommend exploring the Kubernetes Docs yourself and seeing what they offer. There are sections explaining common tasks, a One-page API Reference for Kubernetes v1.30, and even Tutorials.

^1 In fact the Kubernetes Docs can’t be read cover-to-cover because they are not a book and therefore lack a cover.

^2 The CKA exam has its own way of scoring things and is not public. You get a score sometime after completing the exam, but you won’t know which questions you answered correctly.

We’re Hiring!
Develeap is looking for talented DevOps engineers who want to make a difference in the world.