In the previous post we saw an introduction to Kubernetes. Before we go into the architecture of Kubernetes let us look at a small demo of Minikube on windows. Minikube allows you to install a single node cluster of Kubernetes on the local machine. The cluster is installed on a virtual machine . The purpose of installing Kubernetes on minikube is to try out Kubernetes on local machine before going through the process of installing it on a production cluster. It also provides a development environment on a laptop. The steps to install Minikube can be found on its github page. In this post we will use minikube on windows machine. The installation for any other platform is very straight forward so you should hopefully have no problem installing it. You can follow the course even if you chose not to install it, however, for a deeper understanding I would recommend that you try the steps out as you see them in the post.
Minikube on windows – Installation steps
We will use the Oracle Virtual Box to install Minikube. To install Virtual box follow the steps on https://www.virtualbox.org/wiki/Downloads . Note that on a windows 8 or 10 machine, if you use Virtual Box you would need to disable Hyper V. A simple search on google with the search string ‘turn off hyper v’ should give you couple of links that show how to disable it. Once you install Virtual box and disable Hyper V install minikube by following the steps on the github page.
The last piece of software that we need is Docker tools. We need that not for Kubernetes but for building the sample app container that we will deploy on Kubernetes.
I have also installed ubuntu for windows since it gives a nice terminal to work with. You can download that or use PowerShell.
I have installed minikube using chocolatey which is a package manager for windows. Once its installed open up the terminal and type in ‘minikube start’. This downloads and starts minikube on your local machine. The download is around 170 to 200 MB. After the download finishes, minikube might take a while to start.
This is how the terminal looks after minikube has started. To see whether minikube has started successfully type in ‘minikube.exe status’. It says that minikube has been installed, the kubernetes cluster has been installed and kubectl is correctly configured.
Kubectl and config file
You must be wondering what kubectl is. kubectl also sometimes called as kube-ctl is a Kubernetes command line client. It allows you to talk to Kubernetes cluster and perform operations on it. If you look into your home directory you should be able to see a directory called .kube. This directory has a file named config. This file contains credentials that allows the kubectl client to authenticate to the cluster. The file contains the information about the cluster that you want to connect to. You can use the client to connect to different clusters and we will see in the later posts, how to do that. Our Kubectl client uses a client certificate and key instead of a username and password to authenticate. We will see different ways in which we can authenticate to the Kubernetes cluster.
If you have followed the installation steps, you should have a working single node cluster on your laptop. Congratulations on installing your first Kubernetes cluster! In the next post we will install our first application on Kubernetes and after that we will go back to theory and understand the Kubernetes architecture and its various components. So see you in the next post!