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

WEEK 1: FAST TRACK TO KUBERNETES

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 Download the book’s source code

1.4.2 Install Docker Desktop

1.4.3 Install Docker Community Edition and K3s

1.4.4 Install the Kubernetes command-line tool

1.4.5 Run a single-node Kubernetes Cluster in Azure

1.4.6 Run a single-node Kubernetes Cluster in AWS

1.4.7 Verify your cluster

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

WEEK 2: KUBERNETES IN THE REAL WORLD

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

11.7 The Docker developer workflow

11.8 The Kubernetes-as-a-Service developer workflow

11.9 Isolating workloads with contexts and namespaces

11.10 Continuous Delivery in Kubernetes without Docker

11.11 Evaluating developer workflows on Kubernetes

11.12 Lab

WEEK 3: PREPARING FOR PRODUCTION

12 Empowering self-healing apps

12.13 Routing traffic to healthy Pods using readiness probes

12.14 Restarting unhealthy Pods with liveness probes

12.15 Deploying upgrades safely with Helm

12.16 Protecting apps and nodes with resource limits

12.17 Understanding the limits of self-healing apps

12.18 Lab

13 Centralizing logs with Fluentd and Elasticsearch

13.19 How Kubernetes stores log entries

13.20 Collecting logs from nodes with Fluentd

13.21 Shipping logs to Elasticsearch

13.22 Parsing and filtering log entries

13.23 Understanding logging options in Kubernetes

13.24 Lab

14 Monitoring applications and Kubernetes with Prometheus

14.25 How Prometheus monitors Kubernetes workloads

14.26 Monitoring apps built with Prometheus client libraries

14.27 Monitoring third-party apps with metrics exporters

14.28 Monitoring containers and Kubernetes objects

14.29 Understanding the investment you make in monitoring

14.30 Lab

15 Managing incoming traffic with Ingress

15.1 How Kubernetes routes traffic with ingress

15.2 Routing HTTP traffic with ingress rules

15.3 Comparing ingress controllers

15.4 Using ingress to secure your apps with HTTPS

15.5 Understanding ingress and ingress controllers

15.6 Lab

16 Securing applications with Policies, Contexts and Admission Control

16.1 Securing communication with network policies

16.2 Restricting container capabilities with security contexts

16.3 Blocking and modifying workloads with webhooks

16.4 Controlling admission with Open Policy Agent

16.5 Understanding security-in-depth in Kubernetes

16.6 Lab

WEEK 4: PURE AND APPLIED KUBERNETES

17 Securing resources with role-based access control

17.1 How Kubernetes secures access to resources

17.2 Securing resource access within the cluster

17.3 Binding roles to groups of users and service accounts

17.4 Discovering and auditing permissions with plugins

17.5 Planning your RBAC strategy

17.6 Lab

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

18.1 What’s inside a Kubernetes cluster

18.2 Initializing the control plane

18.3 Adding nodes and running Linux workloads

18.4 Adding Windows nodes and running hybrid workloads

18.5 Understanding Kubernetes at scale

18.6 Lab

19 Controlling workload placement and automatic scaling

19.1 How Kubernetes schedules workloads

19.2 Directing Pod placement with affinity and anti-affinity

19.3 Controlling capacity with automatic scaling

19.4 Protecting resources with preemption and priorities

19.5 Understanding the controls for managing workloads

19.6 Lab

20 Extending Kubernetes with Custom Resources and Operators

20.1 How to extend Kubernetes with custom resources

20.2 Triggering workflows with custom controllers

20.3 Using Operators to manage third-party components

20.4 Building Operators for your own applications

20.5 Understanding when to extend Kubernetes

20.6 Lab

21 Running serverless functions in Kubernetes

21.1 How serverless platforms work in Kubernetes

21.2 Triggering functions from HTTP requests

21.3 Triggering functions from events and schedules

21.4 Abstracting serverless functions with Serverless

21.5 Understanding where serverless functions fit

21.6 Lab

22 Never the end

22.1 Further reading by chapter

22.2 Choosing a Kubernetes platform

22.3 Understanding how Kubernetes is built

22.4 Joining the community

Appendixes

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 $38.39 $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.
customers also reading

This book 1-hop 2-hops 3-hops

FREE domestic shipping on three or more pBooks