hello minikube actual steps
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.