Kubernetes Installation Guide: Setting Up Your First Cluster


Introduction

Kubernetes is a powerful tool for managing containers. In this guide, we’ll go step-by-step through the process of installing Kubernetes on your local machine using Minikube and kubectl. Minikube is great for setting up a small, local cluster for learning, while kubectl lets you interact with that cluster easily.


Prerequisites

Before you start, here’s what you’ll need:

  • Operating System: Linux, macOS, or Windows (with WSL2).
  • Virtualization Support: Enabled in your BIOS settings.
  • Required Tools: Docker (or VirtualBox for Minikube), and a package manager like Homebrew (macOS), apt (Linux), or Chocolatey (Windows).

If you don’t have virtualization enabled, check your system’s BIOS settings and look for “Intel VT-x” or “AMD-V”.


Step 1: Install Docker

Docker is essential for running containers, which is the foundation of Kubernetes.

On Linux (Ubuntu):

sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

On macOS:

brew install --cask docker

On Windows:

Go to the Docker website to download Docker Desktop and follow the installation steps.


Step 2: Install Minikube

Minikube is a great tool for running a Kubernetes cluster locally. Here’s how to install it:

On Linux (Ubuntu):

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

On macOS:

brew install minikube

On Windows:

choco install minikube

After installation, verify it’s working with:

minikube version

Step 3: Install Kubectl

Kubectl is the command-line tool you’ll use to interact with Kubernetes. Let’s install it:

On Linux (Ubuntu):

sudo apt-get update
sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

On macOS:

brew install kubectl

On Windows:

choco install kubernetes-cli

Check the installation with:

kubectl version --client

Step 4: Start Minikube

Once everything is installed, start your local Kubernetes cluster:

minikube start

If everything is working correctly, Minikube will start a local cluster for you.


Step 5: Verify the Installation

You can check if your Kubernetes cluster is up and running by getting the nodes:

kubectl get nodes

You should see a list of nodes in your cluster. In this case, since it’s a Minikube setup, you’ll only have one node called minikube.


Step 6: Deploy a Sample Application

Now that Kubernetes is running, let’s deploy a small sample application:

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080

This will start a basic application that echoes back any requests. To access it, use the Minikube service URL:

minikube service hello-minikube --url

Step 7: Cleaning Up

To stop your Minikube cluster:

minikube stop

To delete it:

minikube delete

Conclusion

You’ve successfully installed Kubernetes, created a local cluster, and deployed a simple application! This is just the beginning—next, you can experiment with more complex deployments, services, and configurations in Kubernetes. It’s a powerful tool that can manage the deployment of hundreds or thousands of containers in a real-world environment.