Skip to content

Unable to get GRPCRoute to attach #40922

@NNicoletti

Description

@NNicoletti

Is there an existing issue for this?

  • I have searched the existing issues

Version

equal or higher than v1.16.12 and lower than v1.17.0

What happened?

After creating a Gateway and GRPCRoute I am not seeing the route attach to the Gateway. It's not showing up in supported kinds and we can't seem to get any data flowing through from outside the cluster into the service through the Gateway.

Output of kubectl describe gateway -n my-gateway-namespace my-gateway | grep -A2 "Supported Kinds" . HTTPRoutes and TLSRoutes attach fine:

    Supported Kinds:
      Group:          gateway.networking.k8s.io
      Kind:           HTTPRoute
--
    Supported Kinds:
      Group:          gateway.networking.k8s.io
      Kind:           HTTPRoute
--
    Supported Kinds:
      Group:          gateway.networking.k8s.io
      Kind:           TLSRoute

Sanitized manifests, but this is the full setup for our gateway and GRPCRoute.

Manifests:

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  annotations:
    cert-manager.io/cluster-issuer: my-ca-issuer
  managedFields:
      manager: cilium-operator-generic
  name: my-gateway
  namespace: my-gw-namespace
spec:
  gatewayClassName: cilium
  listeners:
    - allowedRoutes:
        namespaces:
          from: All
      hostname: '*.my.domain'
      name: wildcard-http
      port: 80
      protocol: HTTP
    - allowedRoutes:
        namespaces:
          from: All
      hostname: '*.my.domain'
      name: wildcard-https
      port: 443
      protocol: HTTPS
      tls:
        certificateRefs:
          - group: ''
            kind: Secret
            name: fe-app-tls-crt
            namespace: apps
        mode: Terminate
    - allowedRoutes:
        namespaces:
          from: All
      hostname: this.is.my.domain
      name: domain-tls
      port: 443
      protocol: TLS
      tls:
        mode: Passthrough
---
apiVersion: gateway.networking.k8s.io/v1
kind: GRPCRoute
metadata:
  name: grpc-route
  namespace: grpc-namespace
spec:
  hostnames:
    - grpc.my.domain
  parentRefs:
    - group: gateway.networking.k8s.io
      kind: Gateway
      name: my-gateway
      namespace: my-gw-namespace
  rules:
    - backendRefs:
        - group: ''
          kind: Service
          name: grpc-svc
          namespace: grpc-namespace
          port: 34446
          weight: 1

How can we reproduce the issue?

I'm not sure of the steps to stand it up as this was stood up by someone else in the organization. I imagine it's a normal Cilium v1.16.4 installation. Sorry I can't give more details.

Cilium Version

cilium version output:

Client: 1.16.4 03807242 2024-11-13T11:52:21+00:00 go version go1.22.9 linux/amd64
Daemon: 1.16.4 03807242 2024-11-13T11:52:21+00:00 go version go1.22.9 linux/amd64

Kernel Version

Linux apps-worker-1 5.15.0-138-generic #148-Ubuntu SMP Fri Mar 14 19:05:48 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Kubernetes Version

Client Version: v1.29.10
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.31.4+rke2r1
WARNING: version difference between client (1.29) and server (1.31) exceeds the supported minor version skew of +/-1

Regression

No response

Sysdump

No response

Relevant log output

Anything else?

I did come across this issue which seems to be facing the same problem, but I don't see a real solution presented - especially for the version of Cilium we're using.

Cilium Users Document

  • Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

area/agentCilium agent related.area/servicemeshGH issues or PRs regarding servicemeshkind/bugThis is a bug in the Cilium logic.kind/community-reportThis was reported by a user in the Cilium community, eg via Slack.needs/triageThis issue requires triaging to establish severity and next steps.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions