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?