docs/getting-started/cluster/setup-minikube.md

3.0 KiB

Set up a Minikube cluster

Prerequisites

Note: For Windows, enable Virtualization in BIOS and install Hyper-V

Start the Minikube cluster

  1. (optional) Set the default VM driver
minikube config set vm-driver [driver_name]

Note: See DRIVERS for details on supported drivers and how to install plugins.

  1. Start the cluster Use 1.13.x or newer version of Kubernetes with --kubernetes-version

Note: 1.16.x Kubernetes doesn't work with helm < 2.15.0

minikube start --cpus=4 --memory=4096 --kubernetes-version=1.14.6 --extra-config=apiserver.authorization-mode=RBAC
  1. Enable dashboard and ingress addons
# Enable dashboard
minikube addons enable dashboard

# Enable ingress
minikube addons enable ingress

(optional) Install Helm and deploy Tiller

  1. Install Helm client

  2. Create the Tiller service account

kubectl create serviceaccount -n kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
  1. Install Tiller to the minikube
helm init --service-account tiller --history-max 200
  1. Ensure that Tiller is deployed and running
kubectl get pods -n kube-system

Troubleshooting

  1. If Tiller is not running properly, get the logs from tiller-deploy deployment to understand the problem:
kubectl describe deployment tiller-deploy --namespace kube-system
  1. The external IP address of load balancer is not shown from kubectl get svc

In Minikube, EXTERNAL-IP in kubectl get svc shows <pending> state for your service. In this case, you can run minikube serivce [service_name] to open your service without external IP address.

$ kubectl get svc
NAME                        TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)            AGE
...
calculator-front-end        LoadBalancer   10.103.98.37     <pending>     80:30534/TCP       25h
calculator-front-end-dapr   ClusterIP      10.107.128.226   <none>        80/TCP,50001/TCP   25h
...

$ minikube service calculator-front-end
|-----------|----------------------|-------------|---------------------------|
| NAMESPACE |         NAME         | TARGET PORT |            URL            |
|-----------|----------------------|-------------|---------------------------|
| default   | calculator-front-end |             | http://192.168.64.7:30534 |
|-----------|----------------------|-------------|---------------------------|
🎉  Opening kubernetes service  default/calculator-front-end in default browser...