Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please support gRPC Service #402

Closed
kahirokunn opened this issue Oct 15, 2022 · 10 comments
Closed

Please support gRPC Service #402

kahirokunn opened this issue Oct 15, 2022 · 10 comments
Labels
kind/feature-request lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@kahirokunn
Copy link

gRPC Service does not work.

Here is an example.

server yaml.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: grpc-ping
  namespace: default
  labels:
    networking.knative.dev/visibility: cluster-local
spec:
  template:
    spec:
      containers:
      - image: kahiro/grpc-ping-go:latest
        ports:
          - name: h2c
            containerPort: 8080

client yaml.
This is an error.

apiVersion: v1
kind: Pod
metadata:
  name: grpc-ping-client
  namespace: default
spec:
  containers:
  - args:
    - /client
    - -server_addr
    - grpc-ping.default.svc.cluster.local:80
    - -insecure
    image: kahiro/grpc-ping-go:latest
    imagePullPolicy: Always
    name: grpc-ping-client

client yaml.
This works.

apiVersion: v1
kind: Pod
metadata:
  name: grpc-ping-client-pod
  namespace: default
spec:
  containers:
  - args:
    - /client
    - -server_addr
    - 10-0-3-236.default.pod.cluster.local:8080
    - -insecure
    image: kahiro/grpc-ping-go:latest
    imagePullPolicy: Always
    name: grpc-ping-client

The difference between the two above is that they go through a Gateway configured with HTTPRoute or not.
TCPRoute or GRPCRoute must also be used.

https://gateway-api.sigs.k8s.io/concepts/api-overview/?h=grpcroute#route-resources

@dprotaso
Copy link
Contributor

dprotaso commented Dec 6, 2022

Which networking layer are you using (ie. istio/contour)?

@kahirokunn
Copy link
Author

I love cilium.
cilium/cilium#20655

@github-actions
Copy link
Contributor

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 18, 2023
@kahirokunn
Copy link
Author

Keep

@github-actions github-actions bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 19, 2023
@github-actions
Copy link
Contributor

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 18, 2023
@kahirokunn
Copy link
Author

Keep

@github-actions github-actions bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 19, 2023
Copy link
Contributor

This issue is stale because it has been open for 90 days with no
activity. It will automatically close after 30 more days of
inactivity. Reopen the issue with /reopen. Mark the issue as
fresh by adding the comment /remove-lifecycle stale.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 17, 2023
@ReToCode ReToCode added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Nov 17, 2023
@dprotaso
Copy link
Contributor

dprotaso commented Apr 2, 2024

Hey @kahirokunn in the last few weeks we added the necessary changes to serving and net-gateway-api so in theory you could try testing with Cillium to see if GRPC working. If you could circle back let us know.

Internally we now use the kubernetes.io/h2c appProtocol constant to signal to gateways to use h2 prior knowledge. If Cilllium supports this then it should work.

I'm going to close this out since we have this working with Contour and Istio and there's no action left for us.

@dprotaso dprotaso closed this as completed Apr 2, 2024
@dprotaso
Copy link
Contributor

dprotaso commented Apr 2, 2024

I PR'd a h2c backend protocol conformance test to the gateway API repo - kubernetes-sigs/gateway-api#2456

@kahirokunn
Copy link
Author

Thx!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature-request lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

3 participants