Skip to content

HTTP/2 transport configuration for Knative #2209

Open
@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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions