Because serverless environments utilize containers, Kubernetes is a common choice for running serverless environments. Kubernetes is not ready out of the box to run serverless environments. Instead, Red Hat Knative, an open-source project can be used to deploy code to a Kubernetes environment.
According to Red Hat, Knative consists of 3 primary components:
Build - A flexible approach to building source code into containers.
Serving - Enables rapid deployment and automatic scaling of containers through a request-driven model for serving workloads based on demand.
Eventing - An infrastructure for consuming and producing events to stimulate applications. Applications can be triggered by a variety of sources, such as events from your own applications, cloud services from multiple providers, Software-as-a-Service (SaaS) systems, and Red Hat AMQ streams.
Knative is evolved over earlier serverless frameworks by allowing the deployment of any workload—monoliths, microservices, or functions.