Minikube Cluster Setup


The following guide specifically focusses on the setup of Linux (Ubuntu Server) guest in Windows 11 host.
Install and configure Oracle VirtualBox.
Donload Ubuntu Server ISO.
Install the Ubuntu Server ISO in VirtualBox with the following system requirements of the VDI created:
Minimum Disk space: Minimum 25 GB
Minimum Memory: 4 GB
Minimum number of CPU cores: 2
Network: NAT / Bridged Adapter (Recommended)
For NAT netwrok:
Click on ‘Port Forwarding’ button and configure with the following details. This is required to perform
ssh
from Windows terminal.
Name | Protocol | Host IP | Host Port | Guest IP | Guest Port |
ssh | TCP | 3022 | 22 |
For Bridged Adapter network, find the IP using the following command in the guest machine.
ip a
Open and log into the VDI and run the following commands:
# Update the OS sudo apt update && sudo apt upgrade # Install openssh-server sudo apt install openssh-server # Enable the ssh service using systemctl sudo systemctl enable ssh --now # Check if the service is enabled sudo systemctl status ssh
If the ssh service is enabled, following message is displayed:
Now we can perform
ssh
from the host terminal using the following command and use the VDI with a somewhat an experience mimicking the cloud:# NAT network ssh -p 3022 vboxuser@127.0.0.1 # Bridged Adapter network ssh vboxuser@192.xxx.x.x
Now, perform the following steps / execute commands to install
docker
andminikube
. All the steps are mentioned in this documentation of minikube. Following is the simpler explanation of the mentioned steps.
Docker Installation
A container or virtual machine manager is required. In this, we will be using docker. We will refer to the docker documentation for the docker installation. Following are the steps:
Uninstall the unofficial packages:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
Install using
apt-repository
:# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
Install the docker dependencies:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Verify the installation:
sudo docker run hello-world
Use the following command to add the user to docker group. This step is a prerequisite to start
minikube
:sudo usermod -aG docker $USER && newgrp docker
Minikube Installation
In the previously mentioned minikube documentation, in the ‘Installation’ section, select the buttons to describe the target platform. For our case, it is:
Operating System: Linux
Architecture: x86-64
Release type: Stable
Installer type: Debian package
Perform the following steps to install minikube
server.
The reuqired command to install the
minikube
package will appear below the ‘Installation’ section after selecting the relevant buttons in the sectioned mentioned above which is to be run in the terminal:curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb sudo dpkg -i minikube_latest_amd64.deb
Start the cluster
minikube start
Install
kubectl
:sudo snap install kubectl --classic
Now we are ready with development ready server of Kubernetes which can be used for hosting, serving and testing small projects.
Subscribe to my newsletter
Read articles from Tuhin Kumar Dutta directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Tuhin Kumar Dutta
Tuhin Kumar Dutta
I decode data, craft AI solutions, and write about everything from algorithms to analytics. Here to share what I learn and learn from what I share. 🚀 Data Scientist | AI Enthusiast | Building intelligent systems & simplifying complexity through code and curiosity. Sharing insights, projects, and deep dives in ML, data, and innovation.