A List of Kubernetes Books

Some of these items are books, practice exams or DVDs related to Kubernetes. This list was updated on 4/5/20.

Amazon EKS: User Guide
Building Enterprise JavaScript Applications: Learn to build and deploy robust JavaScript applications using Cucumber, Mocha, Jenkins, Docker, and Kubernetes
Building Microservice Systems with Docker and Kubernetes – Training DVD
Certified Kubernetes Application Developer (CKAD) Complete Video Learning Certification Exam Set (DVD)
Cloud Native DevOps with Kubernetes: Building,

What Is The Difference between a Kubernetes Service, the Kubelet, and the Kubernetes API?

Question
You know of different Kubernetes components: the Kubernetes Service, the Kubelet, and the Kubernetes API.  What do these components do and how are they different?

Answer
A Kubernetes service is an entity, that may span nodes, that keeps a group of Pods functional and coherent (paraphrased from this site).  A “[s]ervice will get its own IP address and port” as quoted from page 339 of Kubernetes in Action

What Is The Difference between kubeadm and kubectl?

Problem scenario
Both kubeadm and kubectl are tools and commands for Kubernetes.  What are the differences between them?

Answer
kubeadm is for creating new Kubernetes clusters (as paraphrased from this Kubernetes.io page).  The command can be used to create both master nodes as well as worker nodes (taken from pg 575 Kubernetes in Action).

kubectl is for running operations on one or more existing Kubernetes clusters (as paraphrased from this 

How Do You Pronounce quay.io?

Problem scenario
You are interested in the quay.io to store Docker images. You do not know how to say the term “quay” as in “quay.io.” How should it be pronounced?

Answer
The word “quay” is pronounced “kway” (rhymes with stray). (The pronunciation “key” may be acceptable too.) If you want to see the source, click on this external page:
https://developers.redhat.com/blog/2019/06/26/using-quay-io-to-find-vulnerabilities-in-your-container-images/

How Do You Troubleshoot the Kubernetes Error “Metrics not available or pod default/kubia-xxx-bmb”?

Problem scenario
You run “kubectl top pod” but you receive an error such as this:

‘Metrics not available or pod default/kubia-xxx-bmb, age: 1hr10m…   error: Metrics not available for pod default/kubia-xxx-bmb, age: 1hr10m”‘

What should you do?

Updated on 9/2/19.

Solution
Wait five minutes.  Then re-run this command: kubectl top pod

The source of this question and answer were taken from page 432 of Kubernetes in Action by Marko Luksa published in 2018 by Manning. 

What Is the Difference between a Node and a Pod in Kubernetes?

Question
You are using Kubernetes.  You read about Nodes and Pods.  What is the difference?

Answer
A Pod is a collection of one or more containers (e.g., Docker or rkt containers).  A node is a server that is the home of one or more Pods.

“A Node is a worker machine in Kubernetes and may be either a virtual or a physical machine…” (taken from 

How Do You Install kubectl on Any Type of Linux?

Problem scenario
You want a quick, generic way to install kubectl on any type of Linux.  What should you do?

Solution
Run these commands:

cd /tmp

curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl

sudo mv kubectl /usr/local/bin/

Test it by running this command: kubectl version

(If you would prefer to use apt commands, because you are using a Debian/Ubuntu distribution of Linux,

How Do You Install kubectl on a CentOS/RHEL/Fedora of Linux server?

Problem scenario
You want the kubectl command to work on a server running a Red Hat distribution of Linux.  How do you install kubectl on a CentOS/RHEL/Fedora Linux server?

Solution
#1  This assumes that you have access to the internet.  You can do it with these three commands:

cd /tmp

curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl

sudo mv kubectl /usr/local/bin/

(An alternative way with a .repo file that is more secure would be to use steps #1 through #3 of 

How Do You Deploy a Kubernetes Cluster in Google Cloud Platform?

Updated on 8/18/19

Problem Scenario
How do you deploy a Kubernetes cluster in Google Cloud Platform?

Solution
There are three ways to do this.  (You could use the console in a web browser.  A second way is with a command line interface method.  A third way is with a REST API.)

Possible solution #1
One way is with the console.

How Do You Get Kubernetes to Work as a Test Instance?

Problem scenario
You want to set up Kubernetes on a server as quickly as possible as a proof-of-concept.  You want to create pods without the best practice security mechanisms because you are behind a firewall and in a development environment.  How do you quickly install and configure Kubernetes as a development deployment on a single host server?

Solution
1.  Install and configure kubelet, kubeadm, kubectl,