apisix icon indicating copy to clipboard operation
apisix copied to clipboard

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

Open olddriver4 opened this issue 1 year ago • 4 comments

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 avatar Apr 26 '24 03:04 olddriver4

Same problem:https://github.com/apache/apisix/issues/2487
But I don't see a solution

olddriver4 avatar Apr 26 '24 04:04 olddriver4

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?

shreemaan-abhishek avatar Apr 29 '24 06:04 shreemaan-abhishek

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 avatar Apr 29 '24 06:04 olddriver4

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

olddriver4 avatar May 07 '24 06:05 olddriver4