Knative is a new open source project that’s generating a lot of excitement in the Kubernetes and Serverless communities. It’s a great fit for application developers, especially those who already use Kubernetes, allowing them to focus more on their business logic and less on infrastructure.

Knative is a collaboration from IBM, Google, Pivotal, Red Hat, Cisco, and others, and is built on top of Istio and Kubernetes. Knative is made up of three primitives for enabling serverless applications on Kubernetes: Serving, Build, and Eventing. The Serving component supports serving your applications, managing traffic, as well as routing and autoscaling. Build supports creating a set of steps to build your application from source code to images, on cluster. Eventing enables you to create event producers and consumers for your applications. Each of these components attempt to identify common patterns and best practices for others to use and build upon.

Two of the key Knative personas are developers and platform providers. Developers can use Knative directly (or through an API) to build Serverless applications on top of Kubernetes. Platform providers can use the Knative primitives to build their own Serverless platform on Kubernetes.

This tutorial is a quick overview of Knative and its various features and components. Go check out the link at the end of this page to see a set of exercises. When you complete the exercises, you will know how to:

  • Create a new cluster on the IBM Cloud Kubernetes Service.
  • Install Istio and Knative to your Kubernetes cluster.
  • Deploy a Node.js application to Knative, which scales up when in use and then scales back down to zero when no longer in use.
  • Explore the knctl tool to easily create routing rules and a higher-level way to deploy your application to Knative.