For creating traffic, in “demo-create-traffic-into-your-mesh” lecture you have used below commands:
$ export INGRESS_HOST=$(minikube ip)
$ export INGRESS_PORT=$(kubectl -n istio-system get service istio- ingressgateway -o jsonpath=‘{.spec.ports[?(@.name==“http2”)].nodePort}’)
$ curl “http://$INGRESS_HOST:$INGRESS_PORT/productpage”
As I have installed Istio and bookinfo app on kubernetes cluster on Docker Desktop.
So for me $ curl “http://localhost:$INGRESS_PORT/productpage” is not working.
So, could you please help me to understand which IP should I use which is equivalent to minikube ip.
NOTE: I have installed the gateway by using below command,
$ kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
then too
$ curl “http://localhost:$INGRESS_PORT/productpage”
is not working because service type is cluster IP. So how I can create traffic.
You can use the command kubectl get services to find the external IP of the Istio ingress gateway, or kubectl get pod -n istio-system to find the IP of the pod that is running the ingress gateway. Use this IP address in the curl command instead of “minikube ip”.
Also, make sure that the service type you have used is “LoadBalancer” or “NodePort” instead of “ClusterIP” to create traffic.
Finally, ou may need to use “http://localhost:$INGRESS_PORT/productpage” to access the service instead of “http://$INGRESS_HOST:$INGRESS_PORT/productpage”.
Hi Team,
I have installed Istio via Helm on my Kubernetes cluster. My bookinfo app is accessible internally via CLI, but not externally via browser on http://10.25.55.84:31937/productpage.
root@niketistio123:~# kubectl -n istio-ingress get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-ingress NodePort 10.43.111.52 15021:31405/TCP,80:31937/TCP,443:32530/TCP 51m
root@niketistio123:~#
My understanding is: it is istio-ingress namespace in helm.