Does gRPC proxy works under minikube?

I’m trying to learn how to run gRPC service following this guide: https://github.com/Kong/kubernetes-ingress-controller/blob/main/docs/guides/using-ingress-with-grpc.md

There are quick steps easy to reproduce:

minikube start --driver=kvm2
kubectl create -f https://bit.ly/k4k8s
export PROXY_IP=$(minikube ip)
export PROXY_PORT=$(kubectl get services/kong-proxy -n kong -o go-template='{{(index .spec.ports 0).nodePort}}')
echo $PROXY_IP:$PROXY_PORT
kubectl apply -f https://bit.ly/grpcbin-service
echo "apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: demo
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: grpcbin
          servicePort: 9001" | kubectl apply -f -
kubectl patch ingress demo -p '{"metadata":{"annotations":{"konghq.com/protocols":"grpc,grpcs"}}}'
kubectl patch svc grpcbin -p '{"metadata":{"annotations":{"konghq.com/protocols":"grpcs"}}}'
grpcurl -v -d '{"greeting": "Kong Hello world!"}' -insecure $PROXY_IP:$PROXY_PORT hello.HelloService.SayHello

What I see is:

Failed to dial target host “192.168.39.161:30312”: tls: first record does not look like a TLS handshake

If I try grpcurl with -plaintext instead of -insecure, it says:

Failed to dial target host “192.168.39.161:30312”: context deadline exceeded

Can someone explain please if it is possible to play with gRPC using minikube or should I try some different installation?

When I do a fresh try but use annotations without grpcs , it changes nothing:

kubectl patch ingress demo -p '{"metadata":{"annotations":{"konghq.com/protocols":"grpc"}}}'
kubectl patch svc grpcbin -p '{"metadata":{"annotations":{"konghq.com/protocols":"grpc"}}}'

© 2019 Kong Inc.    Terms  •  Privacy  •  FAQ