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

The protocol configured for k8s apisix ingress grpc does not take effect, please help me #11206

Closed
olddriver4 opened this issue Apr 26, 2024 · 4 comments
Labels
doc Documentation things help wanted Extra attention is needed

Comments

@olddriver4
Copy link

olddriver4 commented Apr 26, 2024

Current State

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: base-grpc
  namespace: app
  annotations:
    kubernetes.io/ingress.class: apisix
    k8s.apisix.apache.org/upstream-scheme: grpc
spec:
  rules:
    - host: "base-grpc.app.ntrnl"
      http:
        paths:
          - path: /*
            pathType: Prefix
            backend:
              service:
                name: base
                port:
                  name: grpc

image

grpcurl -plaintext base-grpc.app.ntrnl:80 list social.base.PortalService
The protocol configured for k8s apisix ingress grpc does not take effect, please help me. The error is reported as follows:
Error invoking method "social.base.PortalService": rpc error: code = Unavailable desc = failed to query for service descriptor "social.base": error reading from server: EOF

My domain name has been host-resolved, and LB uses Layer 4 TCP protocol. I would like to know where this problem lies. I have searched for online configurations but can't solve it!
There is absolutely no problem with the service, because I use svc host to access it correctly!

This is the configuration of the apisix service:

apiVersion: v1
kind: Service
metadata:
  name: apisix-gateway
  namespace: apisix
  labels:
    app: apisix
    version: "3.7.0"
spec:
  type: LoadBalancer
  ports:
  - name: apisix-gateway-http
    port: 80
    targetPort: 9080
    protocol: TCP
  - name: apisix-gateway-https
    port: 443
    targetPort: 9080
    protocol: TCP
  selector:
    app: apisix
    version: "3.7.0"

The above are all the steps of my configuration. I really don’t have more detailed configuration problems. Could you please help me detect whether it is a configuration problem there or a LB problem? @spacewander

Desired State

done

@olddriver4 olddriver4 added the doc Documentation things label Apr 26, 2024
@olddriver4 olddriver4 changed the title The protocol configured for k8s apisix ingress grpc does not take effect, please help medocs: The protocol configured for k8s apisix ingress grpc does not take effect, please help me Apr 26, 2024
@olddriver4
Copy link
Author

Same problem:#2487
But I don't see a solution

@kayx23 kayx23 added the help wanted Extra attention is needed label Apr 28, 2024
@shreemaan-abhishek
Copy link
Contributor

It might be an issue with the ingress controller, if you think this issue exists in APISIX as well could you try reproducing it and share the resources configuration in the issue thread?

@olddriver4
Copy link
Author

It might be an issue with the ingress controller, if you think this issue exists in APISIX as well could you try reproducing it and share the resources configuration in the issue thread?

I checked the log. There is no access request as mentioned above in the apisix log. The configuration of my ingress controller is LB of TCP protocol. Is there any problem there? How can I troubleshoot it?

@olddriver4
Copy link
Author

Sorry, my LB does not support the http2 protocol. Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Documentation things help wanted Extra attention is needed
Projects
Archived in project
Development

No branches or pull requests

3 participants