After installing istio on a minikube cluster, and then following the directions here and then here I get:
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
details-v1-79c6548b59-qh2fr 2/2 Running 0 16m
productpage-v1-95d579cd5-sgn8p 2/2 Running 0 16m
ratings-v1-7665579b75-5b5rh 2/2 Running 0 16m
reviews-v1-67446f7d9b-p4nxn 2/2 Running 0 16m
reviews-v2-6bc7b4f678-jtxx7 2/2 Running 0 16m
reviews-v3-59b5b6948-6bdwd 2/2 Running 0 16m
$ kubectl label namespace default istio-injection=enabled
error: 'istio-injection' already has a value (enabled), and --overwrite is false
$ kubectl get gateway
NAME AGE
bookinfo-gateway 10m
$ export SECURE_INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="https")].nodePort}')
$ export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')
$ export GATEWAY_URL=$INGRESS_HOST:$INGRESS_PORT
$ echo $GATEWAY_URL
192.168.99.104:31380
$ kubectl exec -it $(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}') -c ratings -- curl productpage:9080/productpage | grep -o "<title>.*</title>"
<title>Simple Bookstore App</title>
$ curl -s http://$\{GATEWAY_URL\}/productpage | grep -o "<title>.*</title>"
$ curl -s http://$\{GATEWAY_URL\}/productpage
notice the kubectl exec
statement returns the <title>
block, but neither curl statement returns anything.
I get the same results when duplicating the same steps on a full running multinode cluster. Is something amiss?