Difficulty: beginner
Estimated Time: 10-15 minutes

Digital Academy Logo

Welcome to the Digital Academy "Kubernetes CNCF" series. This is Module 6 - Deploy KNative on Kubernetes.

Knative

Knative is a Kubernetes-based platform to build, deploy, and manage modern serverless workloads.

There are currently 3 discrete logical components:

Serving Scale to zero, request-driven compute model
Build Cloud-native source to container orchestration
Events Universal subscription, delivery and management of events

Knative extends Kubernetes to provide a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even on a third-party data center.

Each of the components under the Knative project attempt to identify common patterns and codify the best practices that are shared by successful real-world Kubernetes-based frameworks and applications. Knative components focus on solving many of the mundane yet difficult tasks which include:

  • Deploying a container
  • Orchestrating source to URL workflows on Kubernetes
  • Routing and managing traffic with blue/green deployment
  • Automatic scaling and sizing workloads based on demand
  • Binding running services to eventing ecosystems]()
  • Developers on Knative can use familiar idioms, languages, and frameworks to deploy any workload: functions, applications, or containers.

These instructions have been adapted from Getting Started with Knative App Deployment.

There are a set of helpful solutions that allow serverless functions to run:

  • Knative (pronounced kay-nay-tiv) extends Kubernetes to provide a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center.
  • Istio is a service mesh for Kubernetes
  • Kubernetes is the container management system that targets a variety of cloud and data center resources. An operating system for your data center.

In the following steps you will learn:

  • How to install Istio and leverage Knative serving component on Kubernetes,
  • How to install and invoke function(s) on Knative.

The Knative and Istio architecture is fully described in the official docs.

For more information, see the KNative documentation.

Developer(s): William Hearn and Zachary Seguin

Knative is a new open source project started by engineers from Google, [Pivotal][pivotal], and other industry leaders. It’s a collection of components that extend Kubernetes. It includes three major parts: Serving, Build, and Eventing.

If you would like to see the complete documentation related to this sample app please consult the [README.md][readme].

Lessons Learned

With these steps you have learned:

  • How to install Istio and leverage Knative serving component on Kubernetes,
  • How to install and invoke function(s) on Knative.

References

Module 6 - KNative Getting Started

Step 1 of 6

Kubernetes Cluster

As you see, your Kubernetes cluster is started. Verify it's ready for your use.

kubectl version && kubectl cluster-info && kubectl get nodes

Verify the Kubernetes cluster is empty.

kubectl get deployments,pods,services

The Helm package manager used for installing applications on Kubernetes is also available.

helm version

This tab will not be visible to users and provides only information to help authors when creating content.

Creating Katacoda Scenarios

Thanks for creating Katacoda scenarios. This tab is designed to help you as an author have quick access the information you need when creating scenarios.

Here are some useful links to get you started.

Running Katacoda Workshops

If you are planning to use Katacoda for workshops, please contact [email protected] to arrange capacity.

Debugging Scenarios

Below is the response from any background scripts run or files uploaded. This stream can aid debugging scenarios.

If you still need assistance, please contact [email protected]