Istio on Docker Edge Cant Access Service Externally

fyi, Docker Edge is just Docker for Mac app with integrated Kubernetes.

I am just trying to run the demo bookinfo app that ships with Kubernetes. Everything is accessible internally but when I try to access the service externally I get no server response. I think it would be great if people could run Istio from Mac Docker Edge and hope I can get some help on this for anyone who wants to do this. Here are more details:

I am a Sr. Engineer evaluating Istio for a use on our project. I am new to Istio. I am running Kubernetes from Docker for Mac (Edge release). The booklist app deploys perfectly and I have confirmed the service is responding. But I have not been able to access it externally at all. As per the documents I first checked if there was a load balancer in place and saw localhost was the IP address. I assigned this as the host per the documents. I also found the service port to be 80. (I dont see any option on Docker Edge to open port 80 before starting Kubernetes) Not sure what the issue is. It does not say connection refused so it seems the port is open. https://istio.io/docs/examples/bookinfo/. Port 80 is determined per the documentation from

 export INGRESS_PORT=$(kubectl -n istio-system get service istio- ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].port}')

I have followed the Istio documents to a tee, but cannot access the service from the outside via browser or curl no matter what I try.

I really want to move onto other features of the product but I am stuck on this. What am I missing? There is documentation for Docker on Consul but thats not the same as Docker Edge which is just a version of Docker app running on the Mac with Kubernetes integrated.

curl -v -s http://127.0.0.1:80/productpage | grep -o "<title>.*</title>"
  • Trying 127.0.0.1…
  • TCP_NODELAY set
  • Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)

GET /productpage HTTP/1.1

Host: 127.0.0.1

User-Agent: curl/7.54.0

Accept: /

  • Empty reply from server
  • Connection #0 to host 127.0.0.1 left intact

@Steven_O_brien It looks like you might have multiple entries for the same issue.

My curl output:

curl -s http://127.0.0.1:80/productpage | grep -o "<title>.*</title>"                                                                                     
<title>Simple Bookstore App</title>