Knative in Action
Jacques Chester
  • MEAP began January 2020
  • Publication in Spring 2021 (estimated)
  • ISBN 9781617296642
  • 375 pages (estimated)
  • printed in black & white

Kubernetes is awesome. Kubernetes with Knative is EVEN better. And Knative In Action is THE guide to learning Knative!

Kelvin Johnson
Take the pain out of managing serverless applications. Knative, a collection of Kubernetes extensions curated by Google, simplifies building and running serverless systems. Knative in Action guides you through the Knative toolkit, showing you how to launch, modify, and monitor event-based apps built using cloud-hosted functions like AWS Lambda. You’ll learn how to use Knative Serving to develop software that is easily deployed and autoscaled, how to use Knative Eventing to wire together disparate systems into a consistent whole, and how to integrate Knative into your shipping pipeline.

About the Technology

The Knative toolkit is on the cutting-edge of technology, promising for serverless applications the same improvements that Kubernetes delivers for containers and microservices. Best of all, each Knative component is based on best practice standards deployed to production by Google, Pivotal, Red Hat, VMWare, IBM, and other leading cloud technology organizations.

About the book

Knative in Action shows you how to build more complex and capable serverless applications with Knative. You’ll start by getting up to speed with the basics of serverless computing, Knative’s design concepts, and the tricky problems that the toolkit works to simplify. Next, Knative expert Jacques Chester takes you through how to use Knative Serving to build your systems, baking in autoscaling, auto-updating, and easy deployment right from the start. From there you’ll learn how to use Knative Eventing to wire together disparate systems into an elegant, functional whole. Finally, you'll learn how Knative can be used to smooth your shipping pipeline, from initial development right through to monitoring your software in production.
Table of Contents detailed table of contents

1 Introduction

1.1 What is Knative?

1.1.1 Deploying, upgrading and routing

1.1.2 Autoscaling

1.1.3 Eventing

1.2 So what?

1.3 Where Knative shines

1.3.1 Workloads with unpredictable, latency-insensitive demand

1.3.2 Stitching together events from multiple sources

1.3.3 Decomposing monoliths in small increments

1.4 It’s a hit

1.4.1 Trouble in paradise

1.5 Changing things

1.6 What’s in the Knative box?

1.6.1 Serving

1.6.2 Eventing

1.6.3 Serving and Eventing

1.7 Keeping things under control

1.7.1 Loops

1.7.2 Loops within loops

1.8 Are you ready?

1.9 Summary

1.10 References

Part 2: Knative Serving

2 Introducing Knative Serving

2.1 A walkthrough

2.1.1 Your first deployment

2.1.2 Your second deployment

2.1.3 Conditions

2.1.4 What does Active mean?

2.1.5 Changing the image

2.1.6 Splitting traffic

2.2 Serving Components

2.2.1 The Controller and Reconcilers

2.2.2 The Webhook

2.2.3 Networking controllers

2.2.4 Autoscaler, Activator and Queue-Proxy

2.3 Summary

2.4 References

3 Configurations and Revisions

3.1 Those who cannot remember the past are condemned to redeploy it

3.2 The bedtime story version of the history of deployment as a concept

3.2.1 The Blue/Green Deployment

3.2.2 The Canary Deployment

3.2.3 Progressive Deployment

3.2.4 Back to the future

3.3 The Anatomy of Configurations

3.3.1 Configuration status

3.3.2 Taking it all in with kubectl describe

3.4 The Anatomy of Revisions

3.4.1 Revision basics

3.4.2 Container basics

3.4.3 Container Images

3.4.4 The Command

3.4.5 The environment, directly

3.4.6 The environment, indirectly

3.4.7 Configuration via files

3.4.8 Probes

3.4.9 Setting consumption limits

3.4.10 Container Concurrency

3.4.11 Timeout Seconds

3.5 Summary

3.6 References

4 Routes

4.1 Using kn to work with Routes

4.2 The anatomy of Routes

4.3 The anatomy of TrafficTargets

4.3.1 configurationName and revisionName

4.3.2 latestRevision

4.3.3 tag

4.4 Summary

5 Autoscaling

5.1 The Autoscaling Problem

5.2 Autoscaling when there are zero instances

5.2.1 Autoscaler Panics

5.3 Autoscaling when there are one or a few instances

5.4 Autoscaling when there are many instances

5.5 A little theory

5.5.1 Control

5.5.2 Queueing

5.6 The actual calculation

5.6.1 To panic, or not to panic, that is the question

5.7 Configuring Autoscaling

5.7.1 How settings get applied

5.7.2 Setting scaling limits

5.7.3 Setting scaling rates

5.7.4 Setting target values

5.7.5 Setting decision intervals

5.7.6 Setting window size

5.7.7 Setting the panic threshold

5.7.8 Setting the target burst capacity

5.7.9 Summarizing autoscaler configuration

5.7.10 Other autoscalers

5.8 A cautionary note

5.9 Summary


6 Introduction to Eventing

6.1 The road to CloudEvents

6.2 The anatomy of CloudEvents

6.2.1 Required attributes

6.2.2 Optional attributes

6.2.3 Extension attributes

6.3 A word about event formats and protocol bindings

6.3.1 Structured content mode

6.3.2 Binary content mode

6.3.3 Batched content mode

6.4 A walkthrough

6.5 The basic architecture of Eventing

6.5.1 Messaging

6.5.2 Eventing

6.5.3 Sources

6.5.4 Flows

6.5.5 Duck types

6.6 Summary


7 Sources and Sinks

8 Filtering and Flowing

9 From Conception to Production


Appendix A: Installing Knative for Development

What's inside

  • Deploying a service with Knative Serving
  • Connecting systems with Knative Eventing
  • Autoscaling for differing server loads
  • Developing, shipping, and operating software with Knative

About the reader

For software developers comfortable with CLI tools and Java or Go.

About the author

Jacques Chester is an engineer at VMware, via the Pivotal acquisition. He has worked in R&D since 2015, contributing to several projects, including Knative. Before R&D, Jacques worked for Pivotal Labs as a consulting software engineer.

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
Knative in Action (print book) added to cart
continue shopping
go to cart

eBook $33.59 $47.99 3 formats + liveBook
Knative in Action (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