I wrote the course for minikube mostly so that it is inclusive given that most people can use minikube and that there are sometimes significant differences between cloud providers (GKE being one of them) as well as k8s on-prem.
Take a look at https://gist.github.com/vfarcic/68e8f17ebb61ef3be671e2ee29bfea70#file-gke-sh-L53
The Deploy Ingress Controller section of that Gist installs Ingress and retrieves the IP through which it can be accessed.
When you deploy an Ingress controller in GKE, it creates a Service of type
LoadBalancer. That, in turn, creates an external load balancer in GCP which points to healthy nodes of the cluster and the port of that Service. From there on, all you have to do is configure your domain to use the IP of that load balancer.
Please let me know if you need deeper explanation and I’ll do my best to write down a more extensive explanation.