Knative: Operator’s Handbook

Traffic protocols

Knative serving is request-oriented. Therefore, Knative only supports applications serving in certain application-layer (Layer 7) protocols, such as: HTTP/1, HTTP/2, gRPC, and WebSockets. 1

By default, Knative assumes an application is an HTTP server, and makes it available on port 80 on its domains.

An application using a TCP/UDP (Layer 3/4) based custom protocol will not work on Knative. You should use Kubernetes directly to deploy those applications.

Services operating with gRPC and WebSockets require explicit configuration.

  1. Protocols need to be supported by the load balancer, the “activator” and the “queue-proxy” sidecar. ↩︎