Post by @jorijn

Replying to a post that is no longer available

@stfn

It'll click once you put in some more miles. These are good questions :-)

LoadBalancer objects in Kubernetes are used by the cloud-controller to request actual Load Balancers from whatever cloud you're using. Since you're developing locally, there is none. Because of this, the external IP will stay Pending, and you can't reach the service using this.

For a single-node cluster, you'll want to use either NodePort (what you already figured out, nice!) or look up running the Ingress (NGINX) controller as a DaemonSet in "host mode". You can instruct NGINX to listen on the machine's ports 80 and 443.

You should read this to understand why. Details on using this through the Helm charts can be found here.