fullstorydev / fullstorydev/grpcurl

How to access Kubernetes GRPC Ingress calls with prefix?

Open
#347 14 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
12.8k
Forks
580
Avg merge
1h 8m
Merged PRs (30d)
5

Description

We are using GRPC Ingress with Kubernetes and multiple paths. Here is the yaml:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-grpc
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/backend-protocol: GRPC
nginx.ingress.kubernetes.io/proxy-body-size: 64m
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
nginx.ingress.kubernetes.io/ssl-passthrough: 'true'
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: xxx.xxx.internal
http:
paths:
- path: /(.*)
pathType: Prefix
backend:
service:
name: service-1
port:
number: 5001
- path: /prefix-2/(.*)
pathType: Prefix
backend:
service:
name: service-2
port:
number: 5001
tls:
- secretName: grpc-tls
hosts:
- xxx.xxx.internal
```

We have the proto file for this, and tried hitting the services using
```sh
grpcurl -d '<>' -proto <> -insecure xxx.xxx.internal:443 tensorflow.serving.PredictionService.Predict
```

We are able to hit `service-1`, which does not have any prefix. However, we are not able to hit `service-2`. We tried using `xxx.xxx.internal:443/test` and `/test/tensorflow.serving.PredictionService.Predict`, but none of them work.

We know that there is a Go script that can access this. Can you do a similar thing for grpcurl?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.