Minikube is a tool which allows you to run a Kubernetes Cluster locally on a Mac, Windows or Linux Machine. Suited to developers who want to be able to develop Container/Applications locally, I am using Minikube as a way to start my journey into Kubernetes.
All of the below steps were taken from the Kubernetes Site, who have done an amazing job of thoroughly documenting the process. I will add relevant links to the bottom of the post.
The high level steps are:
- Install a Hypervisor
- Install Kubectl
- Install Minikube
- Deploy Cluster and Test
First thing to do is install a Hypervisor, here is a list of supported Hypervisors base don your OS. I am going to use VirtualBox for my Minikube setup which can be found HERE

Next, we need to install Kubectl to help us manage the Cluster and Containers
From a Terminal run the following CURL command:
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
Now to make Kubectl executable, run:
chmod +x ./kubec
Move the Binary to your PATH
sudo mv ./kubectl /usr/local/bin/kubectl
Now to test, run the following to ensure Kubectl is setup
kubectl version

Now to install Minikube. There are few different ways for Mac, as documented HERE. I am going to use Homebrew.
brew cask install minikube
Now to Deploy a Cluster and Test, from a Terminal:
minikube start
This will pull down the Minikube ISO

You will see a Minikube VM appear in your Hypervisor

Because Minikube is a self contained Cluster, you will see the Cluster component download and be setup. To view the UI, enter the following into your Terminal:
minikube dashboard
A new Tab should open automatically with the Kubernetes UI

Next, to deploy a POD to ensure everything is working. This is a simple Web App to test the process and connectivity. From the Terminal run:
kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
Now we can run the following to view the deployment
kubectl get deployments

Now we can view the POD
kubectl get pods

Now to make the Web App available to view, we need to expose the POD as a Kubernetes Service
kubectl expose deployment hello-node --type=LoadBalancer --port=8080
Now when we view the Services, you will see the Load Balancer
kubectl get services

We can test this by running the Service – this should open a new Tab in your Browser
minikube service hello-node

Again, Big Thanks to the amazing Documentation from the Kubernetes Site