View on GitHub

Knative Hands-on Workshop

Why is deploying a Knative service easier than a Kubernetess deployment?

Knative Hands-on Workshop

Why is deploying a Knative service easier than a Kubernetess deployment?

Knative Logo

Knative is a framework running on top of Kubernetes that makes it easier to perform common tasks such as scaling up and down, routing traffic, canary deployments, etc. According to the Knative web site it is “abstracting away the complex details and enabling developers to focus on what matters. It solves the ‘boring but difficult’ parts of deploying and managing cloud native services so you don’t have to.”

How is the experience of deploying an application on Kubernetes versus Knative?

What is Knative?

It is an additional layer installed on top of Kubernetes.

It has two distinct components, originally it were three. The third was called Knative Build, it is now a project of its own: Tekton.

This workshop will focus on Knative Serving and will cover the following topics:

  1. Prerequisites (access to a Kubernetes cluster, work environment, etc.)
  2. Installing Knative
  3. Deploying an example app as Knative Service
  4. Creating a Knative Revision
  5. Traffic Management
  6. Auto-Scaling
  7. Debugging Tips

There are two distinct workshop tracks. Your workshop instructor will tell you which one to follow.

Track 1: Kubernetes Track 2: Openshift
Knative on IBM Cloud Kubernetes Service (IKS) OpenShift Serverless on Red Hat OpenShift on IBM Cloud

To complete this workshop, basic understanding of Kubernetes/OpenShift and application deployment on Kubernetes is instrumental!

Resources:

You can find detailed information and learn more about Knative here:

  1. Knative documentation
  2. Red Hat Knative Tutorial
  3. Deploying serverless apps with Knative (IBM Cloud Documentation)
  4. A series of blogs on Knative:

There is an Instructor Readme, too.

Tools:

In this workshop we will be using the IBM Cloud Shell which has all required tools installed.

Should you prefer to run the workshop completely off your own workstation you need the following tools (depending on the track you select):

Tool Source
git CLI https://git-scm.com/downloads
ibmcloud CLI https://cloud.ibm.com/docs/cli?opic=cli-install-ibmcloud-cli
ibmcloud plugin https://cloud.ibm.com/docs/cli?topic=cli-plug-ins – Install kubernetes-service plugin
oc Download from OpenShift Web Console, click on question mark
kn https://knative.dev/docs/install/install-kn/
hey HTTP Load generator: https://github.com/rakyll/hey