Skip to content

Add Gateway API ingress support to kn operator plugin#439

Open
kahirokunn wants to merge 1 commit intoknative-extensions:mainfrom
kahirokunn:add-gateway-api-ingress-support
Open

Add Gateway API ingress support to kn operator plugin#439
kahirokunn wants to merge 1 commit intoknative-extensions:mainfrom
kahirokunn:add-gateway-api-ingress-support

Conversation

@kahirokunn
Copy link
Member

@kahirokunn kahirokunn commented Mar 13, 2026

Changes

Add Gateway API as a new ingress option for Knative Serving

This PR adds support for Gateway API as a fourth ingress option in the kn-operator plugin, alongside the existing Istio, Kourier, and Contour options. Gateway API is the successor to the Ingress API and is becoming the standard for traffic management in Kubernetes, making it an important networking option for Knative users.

The implementation follows the same pattern established by the existing ingress options:

  • Adds a --gateway-api flag to both the enable ingress and install commands
  • Sets the ingress class to gateway-api.ingress.networking.knative.dev when Gateway API is selected
  • Configures the spec.ingress.gateway-api.enabled field in the KnativeServing CR via the YTT overlay templates
  • Validates that only one ingress type is selected at a time, consistent with existing behavior
  • Includes comprehensive test coverage for all new functionality, including conflict validation with other ingress types

When to use Gateway API

Consider using Gateway API if your cluster already has a Gateway API-compatible controller installed and you prefer the modern, standards-based approach to Kubernetes ingress management. Gateway API is designed to be the successor to the Ingress API and provides richer routing capabilities.

Prerequisites

  • A Gateway API-compatible controller (e.g., Envoy Gateway, Istio, Contour) must be installed in your cluster
  • Gateway API CRDs must be available in your cluster

Usage

# Enable Gateway API ingress for Knative Serving
kn-operator enable ingress --gateway-api --namespace knative-serving

# Install Knative Serving with Gateway API ingress
kn-operator install -c serving --gateway-api --namespace knative-serving

/kind enhancement

Gateway API is becoming the standard for traffic management in Kubernetes (GA since v1.0.0). Adding Gateway API support to the kn-operator plugin allows users to adopt this modern networking option when deploying Knative Serving.

Release Note

Users can now configure Gateway API as the networking layer for Knative Serving using the `--gateway-api` flag with the `enable ingress` and `install` commands, in addition to the existing Istio, Kourier, and Contour options.

Docs

The `enable ingress` and `install` commands now support a `--gateway-api` flag to configure Gateway API as the ingress for Knative Serving. This works the same way as the existing `--istio`, `--kourier`, and `--contour` flags. Only one ingress type can be selected at a time. A Gateway API-compatible controller must be pre-installed in the cluster.

Signed-off-by: kahirokunn <okinakahiro@gmail.com>
@knative-prow
Copy link

knative-prow bot commented Mar 13, 2026

@kahirokunn: The label(s) kind/<kind> cannot be applied, because the repository doesn't have them.

Details

In response to this:

Changes

/kind

Fixes #

Release Note


Docs


Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@knative-prow
Copy link

knative-prow bot commented Mar 13, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: kahirokunn
Once this PR has been reviewed and has the lgtm label, please assign houshengbo for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow knative-prow bot requested review from dsimansk and houshengbo March 13, 2026 02:37
@knative-prow knative-prow bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant