As far as tool names go, Minikube is a pretty good reflection of what it does: It takes the vast cloud-scale of Kubernetes and shrinks it down so that it fits on your laptop.
Don’t mistake that for a lack of power or functionality, though: You can do plenty with Minikube. And while developers, DevOps engineers, and the like might be the most likely to run it on a regular basis, IT leaders and the C-suite can use it, too. That’s part of the beauty.
“With just a few installation commands, anyone can have a fully functioning Kubernetes cluster, ready for learning or supporting development efforts,” says Chris Ciborowski, CEO and cofounder at Nebulaworks.
Hold that thought for a moment – let’s first clarify what Minikube is in plain terms.
What is Minikube?
Minikube is an open source tool that enables you to run Kubernetes on your laptop or other local machine. It can work with Linux, Mac, and Windows operating systems. It runs a single-node cluster inside a virtual machine on your local machine.
How do I get started with Minikube?
The official Kubernetes documentation includes instructions for installing Minikube – note that you’ll also need to install kubectl, the native command-line interface for Kubernetes. It also offers a quickstart guide for getting up and running.
5 uses for Minikube
Minikube is commonly described as a way for people to get some hands-on experience with Kubernetes by managing a cluster locally. It can also be used in day-to-day development tasks.
Both are true, but let’s add some depth and color to the picture: Here are 5 ways you can put Minikube to clever use.
1. Minikube offers a fast-lane to learning and experimentation
“Minikube, due to its small footprint, allows developers, new and experienced, to get their hands dirty with a Kubernetes cluster very quickly,” says Raghu Kishore Vempati, principal systems engineer at Altran. “This is extremely useful since most of the time access may not be available to [another] Kubernetes cluster either on-premises or on any public cloud to experiment or test applications quickly.”
There are a couple of things to highlight here. First, there’s really no prior Kubernetes experience required, so it’s a great tool if you’re at the beginning of a learning curve. The official Kubernetes project offers a tutorial for using Minikube to deploy a Hello World node.js app as one way to begin getting up to speed.
[ Want more resources for getting up to speed? Read 12 ways to get smarter about Kubernetes. ]
For folks who already have some in-the-trenches Kubernetes experience, Minikube is also valuable for ongoing experimentation and learning.
2. Use Minikube to evaluate important Kubernetes features
Vempati notes that Minikube effectively supports evaluating key features of a Kubernetes cluster with its set of built-in add-ons, all of which can be easily enabled or disabled. These include features like default storage class, storage provisioning, registry, Ingress, and more.
“For example, if a developer wants to test the capability of creating storage volumes on-demand, this can be easily achieved by enabling the storage class and storage provisioner add-ons,” Vempati says. He notes that these add-ons will likely evolve with the broader Kubernetes ecosystem and can often benefit IT pros working on specific types of systems or in particular industries.
“Minikube now has an experimental support to target NVIDIA GPUs,” Vempati says, offering another example. “This is very useful for developers with a CUDA-capable GPU available on their local machine. This helps them target specific workloads such as machine learning algorithms [and] gaming.”
[ Read also: What’s next for Kubernetes and hybrid cloud. ]
3. Play with Kubernetes’ extensibility in a sandbox
“As with Kubernetes, Minikube is also open source under the Apache 2.0 license,” Vempati says. “This is very useful for developers and architects who intend to experiment with the extensibility of Kubernetes for adding additional features or building value-added capabilities over and above the existing platform.”
Using Minikube to run and tinker with Istio is a great example of this.