Knative Serving defines a set of objects as Kubernetes Custom Resource Definitions (CRDs). These resources are used to define and control how your serverless workload behaves on the cluster.
The primary Knative Serving resources are Services, Routes, Configurations, and Revisions:
service.serving.knative.devresource automatically manages the whole lifecycle of your workload. It controls the creation of other objects to ensure that your app has a route, a configuration, and a new revision for each update of the service. Service can be defined to always route traffic to the latest revision or to a pinned revision.
route.serving.knative.devresource maps a network endpoint to one or more revisions. You can manage the traffic in several ways, including fractional traffic and named routes.
configuration.serving.knative.devresource maintains the desired state for your deployment. It provides a clean separation between code and configuration and follows the Twelve-Factor App methodology. Modifying a configuration creates a new revision.
revision.serving.knative.devresource is a point-in-time snapshot of the code and configuration for each modification made to the workload. Revisions are immutable objects and can be retained for as long as useful. Knative Serving Revisions can be automatically scaled up and down according to incoming traffic.
For more information on the resources and their interactions, see the Resource Types Overview in the
serving Github repository.
Common use cases¶
Examples of supported Knative Serving use cases:
- Rapid deployment of serverless containers.
- Autoscaling, including scaling pods down to zero.
- Support for multiple networking layers, such as Contour, Kourier, and Istio, for integration into existing environments.
Knative Serving supports both HTTP and HTTPS networking protocols.
You can install Knative Serving via the methods listed on the installation page.
To get started with Serving, check out one of the hello world
sample projects. These projects use the
Service resource, which manages all of
the details for you.
Service resource, a deployed service will automatically have a
matching route and configuration created. Each time the
Service is updated, a
new revision is created.
More samples and demos¶
Debugging Knative Serving issues¶
Configuration and Networking¶
See the Knative Serving Issues page for a full list of known issues.