O'Reilly logo
live online training icon Live Online training

Introduction to Knative

Going serverless on Kubernetes

Sébastien Goasguen

As Kubernetes matures the focus is now back on applications. Knative is a computer system built on top of Kubernetes which extends its API to provide compute primitives that make applications building and management easier. Knative provides so-called scale to zero, internal build and eventing mechanisms to build event based applications. This course is a 3 hour hands-on crash course about knative that will help developers, operators and architects get up to speed quickly with this emerging open source project that aims to provide serverless computing on top of Kubernetes.

What you'll learn-and how you can apply it

By the end of this live, hands-on, online course, you’ll understand:

  • The core concepts of serverless computing
  • How knative extends the Kubernetes API to provide serverless components
  • How you can build and serve functions
  • How you can use various types of events to compose a cloud-native applications

And you’ll be able to:

  • Install knative on your Kubernetes cluster
  • Performs builds and run tasks thanks to Tekton
  • Serve functions and configure their scaling and concurrency parameters
  • Configure event sources and understand the core eventing components

This training course is for you because...

  • You’re an developer and you want to benefit from the serverless paradigm
  • You’re a Kubernetes operator and you want to offer a serverless experience to your developers
  • You’re a Cloud architect and you want to know how Knative can help you bridge the container and the serverless communities
  • You want to learn how to use various types of events in a cloud-native manner

Prerequisites

  • Knowledge of Kubernetes fundamentals
  • In order to fully participate in the hands-on exercises, you will also need access to a Kubernetes cluster with a minimum of 3 nodes (equivalent to Google's n1-standard-4 machine types, as described in the Machine Types documentation).

Recommended preparation:

Recommended follow-up:

About your instructor

  • Sebastien Goasguen is a twenty year open source veteran. A member of the Apache Software Foundation, he worked on Apache CloudStack and Libcloud for several years before diving into the container world. He is the founder of Skippbox, a Kubernetes startup that develops open source tools for Kubernetes users. An avid blogger he enjoys spreading the word about new cutting edge technologies and also trains developers and sysadmins on all things Docker and Kubernetes. Sebastien is the author of the O’Reilly Docker Cookbook and 60 Recipes for Apache CloudStack.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

Introduction to Serverless (25 minutes): - Presentation: Introduce the serverless paradigm. Relation to AWS Lambda and other cloud provider offering. Key characteristics and technologies.

Knative components and install (25 minutes):

  • Presentation: Introduce Knative, explain its connection to Kubernetes and show how it can provide a serverless experience.
  • Exercise: Hands-on terminal streaming showcasing the installation of knative
  • Q&A (5 minutes)
  • Break (5 minutes)

Knative Serving (25 minutes)

  • Mix of presentation and hands-on demo: Explain what Knative serving is and how you can serve an application or function with scale to zero feature. Go through the API spec and explain the relation between the various objects: Configuration and Routes.
  • Q&A (5 minutes)

Knative Build and Tekton Pipeline ( 25 minutes )

  • Mix of presentation and hands-on demo: Explain how to build a container image to go from source to a callable URL. Showcase how a build relates to a Knative service by covering the Spec of a Revision object and its link to Build and Task. Then introduce the Tekton project which provides workflow capabilities to Knative.
  • Q&A (5 minutes)
  • Break (5 minutes)

Introducing Knative eventing (40 minutes)

  • Presentation: Introduce eventing as the core tenet to event base serverless systems. Describe what event sources are and how to build them. Cover the API spec of the Knative eventing system and how it is used to trigger functions being served.
  • Exercise: Showcase the github, gitlab and AWS codecommit event sources and explain the event flow from source to channel/router and service.

Wrap-up and final Q&A (5 minutes)