9 - Kubernetes in Action (2nd edition)

Kubernetes in Action, 2nd edition
by Marko Lukša (2021) early access
Book #14

 

Friday evenings - 6:30 pm pacific time

Meetup: https://www.meetup.com/Los-Gatos-Rust-Reading-Group/events/277915552
Zoom: https://us02web.zoom.us/j/84281187589
Manning: https://www.manning.com/books/kubernetes-in-action-second-edition
Source code (zip file): https://www.manning.com/downloads/2110
Source code (github): http://github.com/luksa/kubernetes-in-action-2nd-edition

Note as of May 7, 2021 -
Since there are only 8 chapters available so far in the MEAP for the 2nd edition and we’ve finished them, we’re moving on to another book until more chapters become available -

  • Istio in Action (10 of 13 chapters available, expected publication date July 2021)

Chapter 8
Persisting application data with PersistentVolumes

May 7, 2021

Presenter

Chapter 8
Persisting application data with PersistentVolumes

May 7, 2021

Presenter

8.1 Decoupling pods from the underlying storage technology

Amish

8.2 Creating persistent volumes and claims

Amish

8.3 Dynamic provisioning of persistent volumes

Casey

8.4 Node-local persistent volumes

Casey

 

Chapter 7
Mounting storage volumes into the Pod’s containers

April 30, 2021

Presenter

Chapter 7
Mounting storage volumes into the Pod’s containers

April 30, 2021

Presenter

7.1 Introducing volumes
7.1.1 Understanding how volumes fit into pods
7.1.2 Introducing volume types

Casey

7.2 Using volumes
7.2.1 Using an emptyDir volume to persist files across container restarts
7.2.2 Using an emptyDir volume to share files between containers
7.2.3 Specifying how a volume is to be mounted in the container

Amish

7.3 Integrating external storage into pods
7.3.1 Using a Google Compute Engine Persistent Disk in a pod volume
7.3.2 Using other persistent volume types
7.3.3 Understanding how external volumes are mounted

Amish

7.4 Accessing files on the worker node’s filesystem
7.4.1 Introducing the hostPath volume
7.4.2 Using a hostPath volume

Casey

 

Chapter 6
Managing the lifecycle of the Pod’s containers

April 23, 2021

Presenter

Chapter 6
Managing the lifecycle of the Pod’s containers

April 23, 2021

Presenter

6.1 Understanding the pod’s status
6.1.1 Understanding the pod phase
6.1.2 Understanding pod conditions
6.1.3 Understanding the status of the containers

Amish

6.2 Keeping containers healthy
6.2.1 Understanding container auto-restart
6.2.2 Checking the container’s health using liveness probes
6.2.3 Creating an HTTP GET liveness probe

Casey

 

6.2.4 Observing the liveness probe in action
6.2.5 Using the exec and the tcpSocket liveness probe types
6.2.6 Using a startup probe when an application is slow to start
6.2.7 Creating effective liveness probe handlers

Amish

6.3 Executing actions at container start-up and shutdown
6.3.1 Using post-start hooks to perform actions when the container starts
6.3.2 Running a process just before the container terminates

Amish

6.4 Understanding the pod lifecycle
6.4.1 Understanding the initialization stage
6.4.2 Understanding the run stage
6.4.3 Understanding the termination stage
6.4.4 Visualizing the full lifecycle of the pod’s containers

Amish

 

Chapter 5
Running applications in Pods

April 9, 2021

Presenter

Chapter 5
Running applications in Pods

April 9, 2021

Presenter

5.1 Understanding pods
5.1.1 Understanding why we need pods

Andrew

5.1.2 Organizing containers into pods

Andrew

5.2 Creating pods from YAML or JSON files

Amish

5.3 Interacting with the application and the pod
5.3.1 Sending requests to the application in the pod
5.3.2 Viewing application logs

Amish

5.3.3 Copying files to and from containers
5.3.4 Executing commands in running containers
5.3.5 Attaching to a running container

Amish

5.4 Running multiple containers in a pod

Casey

5.5 Running additional containers at pod startup

Casey

5.6 Deleting pods and other objects

Casey

 

Chapter 4

Introducing the Kubernetes API objects

April 9, 2021

Presenter

Chapter 4

Introducing the Kubernetes API objects

April 9, 2021

Presenter

4.1 Getting familiar with the Kubernetes API
4.1.1 Introducing the API

Andrew

4.1.2 Understanding the structure of an object manifest

Casey

4.2 Examining an object’s individual properties
4.2.1 Exploring the full manifest of a Node object

Casey

4.2.2 Understanding individual object fields

Amish

4.2.3 Understanding an object’s status conditions

Amish

4.2.4 Inspecting objects using the kubectl describe command

Andrew

4.3 Observing cluster events via Event objects
4.3.1 Introducing the Event object

Andrew

4.3.2 Examining the YAML of the Event object

Andrew

 

Chapter 3

Deploying your first application

March 26, 2021

Presenter

Chapter 3

Deploying your first application

March 26, 2021

Presenter

Deploying a Kubernetes cluster

Amish

Interacting with Kubernetes

Casey

Running your first application on Kubernetes

Andrew

Chapter 2
Understanding Containers

March 19, 2021

Presenter

Chapter 2
Understanding Containers

March 19, 2021

Presenter

Introducing containers

Andrew

Exploring containers hands-on

Amish

Understanding what makes containers possible

Casey

Kubernetes in Action (2nd edition)
Chapter 1

March 12, 2021

Presenter

Kubernetes in Action (2nd edition)
Chapter 1

March 12, 2021

Presenter

Introducing Kubernetes

Casey

Understanding Kubernetes

Andrew

Introducing Kubernetes into your organization

Amish

Configuration - Kubernetes tutorial

March 5, 2021

Presenter

Configuration - Kubernetes tutorial

March 5, 2021

Presenter

Example: Configuring a Java Microservice

Amish

Configuring Redis using a ConfigMap

Amish

Learn Kubernetes Basics - Kubernetes tutorial
February 19, 2021
February 26, 2021

Presenter

Learn Kubernetes Basics - Kubernetes tutorial
February 19, 2021
February 26, 2021

Presenter

Create a Cluster

Casey

Deploy an App

Amish

Explore an App

Amit

Expose Your App Publicly

Casey

Scale Your App

Casey

Update Your App

Amish