Chapter 1. Getting Started with Knative
Deploying applications as serverless services is becoming a popular architectural style. It seems like many organizations assume that Function as a Service (FaaS) is serverless. We think it is more accurate to say that FaaS is one way to do serverless, but not the only way. This raises a super critical question for enterprises that may have applications which could be a monolith or a microservice: What is the easiest path to serverless application deployment?
The answer is a platform that can run serverless workloads, while enabling you to have complete control over how to configure, build, deploy, and run applications—ideally, a platform that would support deploying the applications as Linux containers. In this chapter we introduce you to one such platform—Knative—that helps you to run the serverless workloads in a Kubernetes-native way.
A Kubernetes cluster does not come with Knative and its dependencies pre-installed, so the recipes in this chapter detail how to have Knative and its dependencies installed into a Kubernetes cluster. The recipes also help in setting up your local developer environment that will be required to run the exercises in this book.
1.1 Installing the Required Tools
Problem
You want to equip your local developer environment with the tools you will need to build, deploy, and run Kubernetes-based applications.
Solution
In general, you will need several of the open source tools listed in Table 1-1.