Ingress Controller for tutorial "Run Bookinfo with Kubernetes"

Hello~

While following the k8s with istio example here, the cmd kubectl get ingress bookinfo gave me empty address.

I thought k8s needs at least one ingress controller installed so the ingress resource can take effect, but I cannot find such instruction of ingress controller within the docs of Learn Microservices using Kubernetes and Istio (I thought this might appears in Setup a Kubernetes Cluster).

Am I missing any chapter or section? If not, is there any ingress controller recommended for this tutorial?

you need to expose the istio ingress service as load balancer and access the loadbalancer
i access NodePort from local minikube env, below code gives me the INGRESS_HOST and INGRESS_PORT depending on the service status

    local extlb=$(kubectl -n "$namespace" get svc $gw_name)
    if [[ "$extlb" != *"<none>"* && "$extlb" != *"<pending>"* ]]; then
        # external load balancer
        export INGRESS_HOST=$(kubectl -n "$namespace" get service $gw_name -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
        export INGRESS_PORT=$(kubectl -n "$namespace" get service $gw_name -o jsonpath='{.spec.ports[?(@.name=="http")].port}')
    else
        # node port
        export INGRESS_HOST=$(kubectl -n "$namespace" get po -l istio=$gw_name -o jsonpath='{.items[0].status.hostIP}')
        export INGRESS_PORT=$(kubectl -n "$namespace" get service $gw_name -o jsonpath='{.spec.ports[?(@.name=="http")].nodePort}')
    fi