For those who still comes to this thread, here’s a link with 3 scenarios to map external services:
In short, use a combination of Service and Endpoints.
I have successfully tested an externalName with an IP address on GKE but I prefer to use the correct way to do it.
Terraform documentation for Kubernetes provider on Endpoints: https://www.terraform.io/docs/providers/kubernetes/r/endpoints.html