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

配置k8s apisix ingress grpc的协议不生效,请帮助我 #2207

Open
olddriver4 opened this issue Apr 11, 2024 · 11 comments
Open

配置k8s apisix ingress grpc的协议不生效,请帮助我 #2207

olddriver4 opened this issue Apr 11, 2024 · 11 comments

Comments

@olddriver4
Copy link

olddriver4 commented Apr 11, 2024

Description

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
我确认是生效的,报错如下:
Failed to list methods for service "social.base.PortalService": rpc error: code = Unavailable desc = upstream connect error or disconnect/reset before headers. reset reason: protocol error

我的域名做了host解析,LB使用的是4层TCP协议,想问问这个问题出在哪里,我找了网上的配置都不能解决!
服务绝对没有问题,因为我使用svc host访问是正确的!

Environment

  • APISIX version (run apisix version): 3.7
@olddriver4
Copy link
Author

请帮我解决如上问题,万分感激🥹

@shreemaan-abhishek
Copy link
Contributor

you would be more like to get help if you translate the issue content to english, thanks

@shreemaan-abhishek shreemaan-abhishek transferred this issue from apache/apisix Apr 11, 2024
@olddriver4
Copy link
Author

olddriver4 commented Apr 11, 2024

you would be more like to get help if you translate the issue content to english, thanks
@shreemaan-abhishek

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:
Failed to list methods for service "social.base.PortalService": rpc error: code = Unavailable desc = upstream connect error or disconnect/reset before headers. reset reason: protocol error

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!

@olddriver4
Copy link
Author

hello ?

@olddriver4
Copy link
Author

Can i help me ?

@olddriver4
Copy link
Author

帮忙啊 啊啊啊啊啊啊啊

@olddriver4
Copy link
Author

@shreemaan-abhishek

@shreemaan-abhishek
Copy link
Contributor

@olddriver4 can you provide self-contained, detailed steps to reproduce this issue?

@olddriver4
Copy link
Author

olddriver4 commented Apr 19, 2024

Description

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` 我确认是生效的,报错如下: `Failed to list methods for service "social.base.PortalService": rpc error: code = Unavailable desc = upstream connect error or disconnect/reset before headers. reset reason: protocol error`

我的域名做了host解析,LB使用的是4层TCP协议,想问问这个问题出在哪里,我找了网上的配置都不能解决! 服务绝对没有问题,因为我使用svc host访问是正确的!

Environment

  • APISIX version (run apisix version): 3.7

you would be more like to get help if you translate the issue content to english, thanks
@shreemaan-abhishek

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: Failed to list methods for service "social.base.PortalService": rpc error: code = Unavailable desc = upstream connect error or disconnect/reset before headers. reset reason: protocol error

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? @shreemaan-abhishek

@olddriver4
Copy link
Author

@spacewander help me, thanks!

@olddriver4
Copy link
Author

to: apache/apisix#11206

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 📋 Backlog
Development

No branches or pull requests

2 participants