minikube
Run Kubernetes locally
Minikube runs a full Kubernetes cluster on your laptop so you can develop and test containerized apps locally without a cloud account or remote server.
Minikube lets you run a full Kubernetes cluster on your own laptop or desktop computer, which solves the problem that Kubernetes, the industry-standard container orchestration platform, is designed for cloud or server environments and is complex to set up locally. With minikube, developers can test and develop Kubernetes-based applications without needing access to a remote cluster or cloud account.
Kubernetes is a system for automatically managing containerized applications: it handles deployment, scaling, load balancing, and restarting crashed services. Minikube creates a lightweight, single-node version of this on your machine by spinning up a virtual machine or container that runs a full Kubernetes environment. You interact with it using the same kubectl command-line tool you would use with a real cluster, so local development closely matches production.
Minikube supports the full range of Kubernetes features including load balancers, persistent storage volumes, multiple clusters, a web dashboard, various container runtimes, and GPU support for machine learning workloads. It also has an add-on marketplace where developers can install pre-configured services like metrics collection or an ingress controller with a single command.
You would use minikube when you are learning Kubernetes, developing an application that runs on Kubernetes and need to iterate quickly without deploying to a cloud, or testing configuration changes before pushing to a production cluster. It works on macOS, Linux, and Windows.
The tech stack is Go, and minikube integrates with Docker, containerd, and other OCI-compatible container runtimes. It is an official Kubernetes project maintained by the community.
Where it fits
- Learn Kubernetes concepts and commands on your laptop without paying for a cloud cluster.
- Develop and iterate on a containerized app locally with the same tools you'll use in production.
- Test Kubernetes config changes like ingress rules or persistent volumes before pushing to a live cluster.
- Run machine learning workloads in a local Kubernetes environment with GPU support enabled.