A simple guide for running a local kubernetes cluster (using minikube), dockerizing and deploying a simple web application.
It's recommended that you already have a grasp on some Kubernetes basics, you can check this presentation for a quick introduction.
This tutorial assumes that the following tools are installed on the system:
- minikube, for running a local kubernetes (k8s) cluster.
- a virtualization driver for minikube (details in the minikube page).
- kubectl, for managing the cluster, can be installed via homebrew.
- docker, for creating a containerized application.
- node.js, version 8+, for running the sample application, but feel free to use your own app/image.
Any application that can be dockerized can be used for this tutorial, as long as the docker image is available.
Install a virtualization driver and minikube. Then run minikube start
, it should look like this:
➜ ~ minikube start --vm-driver=hyperkit
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.
Cluster is now ready to be used with kubectl
. You can verify so by running:
➜ ~ kubectl get all
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3m
You can also open the Kubernetes dashboard by running minikube dashboard
, which will open a new browser window.
The Kubernetes dashboard gives information about the cluster at a quick glance, it also allows to run many of the actions that
can be run via kubectl
.
When the cluster is ready, head over to the first step: deploying your first container.