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