Skip to content

HTTP/2 transport configuration for Knative #2209

Closed as not planned
Closed as not planned
@astefanutti

Description

@astefanutti

It is not obvious if explicit configuration of the KnativeService userland container port is required, to support components that rely on the HTTP/2 transport protocol, like gRPC.

In the following example, it is documented the port name must be set to h2c: https://knative.dev/docs/serving/samples/grpc-ping-go/

On the other hand, the Knative runtime contract suggests auto-detection might be available based on HTTP negotiation: https://github.com/knative/specs/blob/main/specs/serving/runtime-contract.md#protocols-and-ports.

On the Camel K runtime side, it seems HTTP/2 is the default with Quarkus, but it's not clear if negotiation is supported for endpoints served on the same port, e.g., for the metrics endpoint, as Knative currently mandates to have a single userland container port.

Last but not least, it'd be valuable to provide an example demonstrating the gRPC component in action, with Knative.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions