The minikube docs are a bit off when using a mac.

When you get to

minikube service hello-node

the browser may open, but it never loads. If you use the --url option, you never get one.

If you run kubectl get events, you may see something like

Warning listen tcp4 :32401: bind: address already in use node/minikube can’t open port “nodePort for default/hello-node” (:32401/tcp4), skipping it

Here are simple steps that actually work.

minikube start

This creates a new docker container where kubernetes is running.

kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4

This deploys the test app.

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

This makes the hello-node containers available outside the kubernetes network.

minikube tunnel

This links the service created above with 127.0.0.1.

At this point, the app is available.

curl -X POST http://127.0.0.1:8080/ \
  -H 'Content-Type: application/json' \
  -d '{"super":"duper"}'

Summary

For some reason, things are different on Mac. Skip the minikube service hello-node step, use minikube tunnel, and use the loopback address instead of the internal ip.