Knative: Operator’s Handbook

Knative vs Kubernetes

Knative runs on Kubernetes (exceptions exist), so these two are not mutually exclusive.

Knative Serving

For running stateless HTTP-based applications, such as microservices, Knative Serving can fully replace Kubernetes, and add benefits like:

You can read this article which explains the argument further and this tweet from Knative co-creator Matt Moore.

To add these functionalities to your cluster, Knative runs various components which have certain resource footprint. Also the data path of a request is less OS-native compared to Kubernetes since it has software load balancers like Envoy in the path.

Knative Eventing

Knative Eventing lets you program Kubernetes APIs declaratively to subscribe to event sources and filter/dispatch events to targets (like other Kubernetes or Knative applications in the same cluster).

Kubernetes does not natively offer this functionality, although similar projects such as Microsoft-backed KEDA offer an alternative to Knative on Kubernetes.