How to Install and Use Minikube: Setup and Essential

Install Minikube on macOS, Linux or Windows and learn the essential commands to manage your local Kubernetes cluster. Uses the Docker driver by default. No VM required.

4 lessons · 9 min · Beginner

2 minutes reading time

Written by

Civo Team
Civo Team

Marketing Team at Civo

Minikube runs a single-node Kubernetes cluster locally on your machine. It is the fastest way to get a working cluster for learning, development, and testing without needing a cloud account. Minikube uses Docker as the default driver, so no virtual machine setup is required on modern systems.

Use Minikube when you want to learn Kubernetes locally or test configurations before deploying to a cloud cluster. Use a managed cluster like Civo when you need a multi-node environment, persistent storage, or a production-grade setup.

Before installing Minikube, install kubectl first. Minikube provides the cluster but kubectl is the tool you use to interact with it. The previous lesson in this chapter covers kubectl installation.

Prerequisites

  • 2 CPUs or more
  • 2GB of free memory
  • 20GB of free disk space
  • Docker Desktop or Docker Engine installed and running

Install Minikube

macOS

brew install minikube

Linux

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

Windows

choco install minikube

Verify the installation:

minikube version

Expected output:

minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512

Start your cluster

Minikube uses Docker as the default driver. Docker Desktop or Docker Engine must be running before you start:

minikube start

Expected output:

* minikube v1.32.0 on Darwin 14.0
* Automatically selected the docker driver
* Starting control plane node minikube in cluster minikube
* Pulling base image ...
* Preparing Kubernetes v1.28.3 on Docker 24.0.7 ...
* Done! kubectl is now configured to use "minikube" cluster

Other drivers are available if you need them. Pass --driver=virtualbox, --driver=hyperv, or --driver=parallels to use an alternative. For most users the Docker driver works without any additional configuration.

Verify the cluster is running:

minikube status

Expected output:

minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

Useful start flags

Customise your cluster at start time:

minikube start --cpus=4 --memory=8g --kubernetes-version=v1.28.0 --driver=docker

Set defaults so you do not need to pass flags every time:

minikube config set memory 8192
minikube config set cpus 4

Essential commands

minikube-commands

Stop the cluster without deleting it

minikube stop

Data and state are preserved. Run minikube start to resume.

Delete the cluster and all its data

minikube delete

Open the Kubernetes dashboard in your browser

minikube dashboard

List all available addons

minikube addons list

Enable an addon

minikube addons enable metrics-server
minikube addons enable ingress

These two addons are recommended for most users. metrics-server enables kubectl top commands. ingress adds an nginx ingress controller to your local cluster.

Get the URL for a service

minikube service <service-name> --url

Expose LoadBalancer services locally

minikube tunnel

Run this in a separate terminal. It creates a network route that gives LoadBalancer services an accessible IP address on your local machine.

Load a local Docker image into Minikube

minikube image load <image-name>

Use this to test locally built images without pushing them to a registry. In your pod spec, set imagePullPolicy: Never to prevent Kubernetes from trying to pull the image remotely.

View Minikube logs

minikube logs

Useful for diagnosing cluster startup failures.

View all resources across all namespaces

kubectl get all -A
Civo Team
Civo Team

Marketing Team at Civo

Civo is the Sovereign Cloud and AI platform designed to help developers and enterprises build without limits. We bridge the gap between the openness of the public cloud and the rigorous security of private environments, delivering full cloud parity across every deployment. As a team, we are dedicated to providing scalable compute, lightning-fast Kubernetes, and managed services that are ready in minutes. Through CivoStack Enterprise and our FlexCore appliance, we empower organizations to maintain total data sovereignty on their own hardware.

Our mission is to make the cloud faster, simpler, and fairer. By providing enterprise-grade NVIDIA GPUs and streamlined model management, we ensure that high-performance AI and machine learning are accessible to everyone. Built for transparency and performance, the Civo Team is here to give you total control over your infrastructure, your data, and your spend.

View author profile