Learn Kubernetes in a Month of Lunches
Elton Stoneman
  • MEAP began May 2020
  • Publication in Spring 2021 (estimated)
  • ISBN 9781617297984
  • 625 pages (estimated)
  • printed in black & white

Outstanding intro to Kubernetes starting with the foundations of the software and building from there. Each chapter has extensive hands on examples and labs to complete. I learned a lot!

Mike Lewis
In Learn Kubernetes in a Month of Lunches you’ll go from “what’s a Pod?” to automatically scaling clusters of containers and components in just 22 hands-on lessons, each short enough to fit into a lunch break. Every lesson is task-focused and covers an essential skill on the road to Kubernetes mastery. You’ll learn how to smooth container management with Kubernetes, including securing your clusters, and upgrades and rollbacks with zero downtime. No development stack, platform, or background is assumed. Author Elton Stoneman describes all patterns generically, so you can easily apply them to your applications and port them to other projects!

About the Technology

The Kubernetes container management platform handles the tricky and time-consuming parts of managing applications and services deployed with Docker, including maintaining service levels, rolling out updates, scaling to meet demand, and more. Kubernetes makes it easy to build for the cloud or to migrate your existing applications, speeding up delivery with reusable patterns and efficient technologies. It works on any size of system—your apps will run the same on the data center or on your laptop. You’ll find your Kubernetes skills are easily transferable to new platforms, projects, and organizations, giving you an immediate productivity boost.

About the book

Learn Kubernetes in a Month of Lunches is a task-focused guide to getting up and running with Kubernetes—fast! Following a proven and popular teaching approach honed by author Elton Stoneman, you'll progress quickly from the basics to production deployment. Each lesson is focused on practical ways to apply Kubernetes, including portable apps that work anywhere Kubernetes runs and how to run different architectures on a single cluster. All patterns are easy to apply to your own projects whatever your background. Sample apps demonstrate Kubernetes for .NET, Java, Go, or Node.JS, on varied architectures including small and large applications, monoliths and microservices, and both stateful and stateless components. By the time you’re done, you’ll be able to use Kubernetes as the platform for multiple application types, from legacy apps to serverless functions.
Table of Contents detailed table of contents


1 Before You Begin

1.1 Understanding Kubernetes

1.2 Is this book for you?

1.3 How to use this book

1.3.1 Your learning journey

1.3.2 Try-it-nows

1.3.3 Hands-on labs

1.3.4 Additional resources

1.4 Creating your lab environment

1.4.1 Install Docker Desktop

1.4.2 Install the Kubernetes command-line tool

1.4.3 Install Docker Community Edition and KinD

1.4.4 Run a single-node Kubernetes Cluster in Azure

1.4.5 Run a single-node Kubernetes Cluster in AWS

1.4.6 Verify your cluster

1.4.7 Download the book’s source code

1.5 Being immediately effective

2 Running containers in Kubernetes with Pods and Deployments

2.1 How Kubernetes runs and manages containers

2.2 Running pods with controllers

2.3 Defining deployments in application manifests

2.4 Working with applications in pods

2.5 Understanding Kubernetes resource management

2.6 Lab

3 Connecting Pods over the Network with Services

3.1 How Kubernetes routes network traffic

3.2 Routing traffic between pods

3.3 Routing external traffic into pods

3.4 Routing traffic outside Kubernetes

3.5 Understanding Kubernetes service resolution

3.6 Lab

4 Configuring applications with ConfigMaps and Secrets

4.1 How Kubernetes supplies configuration to apps

4.2 Storing and using configuration files in ConfigMaps

4.3 Surfacing configuration data from ConfigMaps

4.4 Configuring sensitive data with Secrets

4.5 Managing app configuration in Kubernetes

4.6 Lab

5 Storing data with volumes, mounts and claims

5.1 How Kubernetes builds the container filesystem

5.2 Storing data on a node with volumes and mounts

5.3 Storing cluster-wide data with persistent volumes and claims

5.4 Dynamic volume provisioning and storage classes

5.5 Understanding storage choices in Kubernetes

5.6 Lab

6 Scaling applications across multiple Pods with Controllers

6.1 How Kubernetes runs apps at scale

6.2 Scaling for load with Deployments and ReplicaSets

6.3 Scaling for high availability with DaemonSets

6.4 Understanding object ownership in Kubernetes

6.5 Lab


7 Extending applications with multi-container Pods

7.1 How containers communicate in a Pod

7.2 Setting up applications with init containers

7.3 Applying consistency with adapter containers

7.4 Abstracting connections with ambassador containers

7.5 Understanding the Pod environment

7.6 Lab

8 Running data-heavy apps with StatefulSets and Jobs

8.1 How Kubernetes models stability with StatefulSets

8.2 Bootstrapping Pods with init containers in StatefulSets

8.3 Requesting storage with volume claim templates

8.4 Running maintenance tasks with Jobs and CronJobs

8.5 Choosing your platform for stateful apps

8.6 Lab

9 Managing app releases with rollouts and rollbacks

9.1 How Kubernetes manages rollouts

9.2 Updating Deployments with rollouts and rollbacks

9.3 Configuring rolling updates for Deployments

9.4 Rolling updates in DaemonSets and StatefulSets

9.5 Understanding release strategies

9.6 Lab

10 Packaging and managing apps with Helm

10.1 What Helm adds to Kubernetes 10.2 Packaging your own apps with Helm 10.3 Modelling dependencies in charts 10.4 Upgrading and rolling back Helm releases 10.5 Understanding where Helm fits in 10.6 Lab

11 App development - developer workflows and CI/CD

10.7 The Docker developer workflow 10.8 The Kubernetes-as-a-Service developer workflow 10.9 Isolating workloads with contexts and namespaces 10.10 Continuous Delivery in Kubernetes without Docker 10.11 Evaluating developer workflows on Kubernetes 10.12 Lab


12 Empowering self-healing apps

10.13 Routing traffic to healthy Pods using readiness probes 10.14 Restarting unhealthy Pods with liveness probes 10.15 Deploying upgrades safely with Helm 10.16 Protecting apps and nodes with resource limits 10.17 Understanding the limits of self-healing apps 10.18 Lab

13 Centralizing logs with Fluentd and Elasticsearch

10.19 How Kubernetes stores log entries 10.20 Collecting logs from nodes with Fluentd 10.21 Shipping logs to Elasticsearch 10.22 Parsing and filtering log entries 10.23 Understanding logging options in Kubernetes 10.24 Lab

14 Monitoring applications and Kubernetes with Prometheus

10.25 How Prometheus monitors Kubernetes workloads 10.26 Monitoring apps built with Prometheus client libraries 10.27 Monitoring third-party apps with metrics exporters 10.28 Monitoring containers and Kubernetes objects 10.29 Understanding the investment you make in monitoring 10.30 Lab

15 Managing incoming traffic with Ingress

16 Securing applications with Policies, Contexts and Admission Control


17 Securing resources with role-based access control

18 Deploying Kubernetes: multi-node and multi-architecture clusters

19 Controlling workload placement and automatic scaling

20 Extending Kubernetes with Custom Resources and Operators

21 Serverless functions as containers in your Kubernetes cluster

22 Never the end - next steps in your Kubernetes journey


Appendix A: Packaging applications from source code as Docker Images

Appendix B: Adding observability with containerized monitoring

Appendix C: Reading app configuration from the Docker platform

Appendix D: Writing application logs to the Docker platform

What's inside

  • Deploying and manage applications on Kubernetes clusters
  • Defining applications in Kubernetes YAML format
  • Kubernetes app lifecycle, from packaging to rollbacks
  • Self-healing and scalable apps
  • Securing a Kubernetes cluster
  • Using Kubernetes as a platform for new technologies
  • Exercises introducing all new concepts

About the reader

For readers comfortable with Docker and containerization.

About the author

Elton Stoneman is a 10-time Microsoft MVP and a Docker Captain. After several years working for Docker, Elton now offers consulting services for organizations at every stage in their container journey. He is a regular speaker and workshop instructor at conferences and the author of Learn Docker in a Month of Lunches.

placing your order...

Don't refresh or navigate away from the page.
Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
print book $35.99 $59.99 pBook + eBook + liveBook
Additional shipping charges may apply
Learn Kubernetes in a Month of Lunches (print book) added to cart
continue shopping
go to cart

eBook $33.59 $47.99 3 formats + liveBook
Learn Kubernetes in a Month of Lunches (eBook) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.

FREE domestic shipping on three or more pBooks