Minikube, Kubernetes’ best friend: 6 facts to know
Limited Time Offer!
For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!
Source:-enterprisersproject.com
If your team is building apps for containers and Kubernetes, get to know Minikube. This free open source tool helps developers do experiments and packs a punch in demonstrations
Minikube is an open source tool that enables you to run a single-node Kubernetes cluster on a laptop. To think of it another way, it takes the grand scale of Kubernetes and slims it down to fit run locally in a virtual machine, no cloud or on-premises data center required.
Donât let the âminiâ fool you: Minikube packs a punch.
So if it’s a âliteâ version of Kubernetes at large, whatâs the point? Why use it?
There are plenty of reasons, from training to development to testing and more. So donât let the âminiâ fool you: Minikube packs a punch.
For starters, while running Minikube locally might limit you to a single-node cluster, youâre not sacrificing too much in the way of functionality. Minikube supports significant Kubernetes features such as DNS, NodePorts, ConfigMaps and Secrets, Dashboards, the Docker, CRI-O and containerd runtimes, Ingress, and Container Networking Interface (CNI). And Minikubeâs add-ons and extensibility â more on these below â further betray the âminiâ in Minikube. Itâs plenty powerful for its intended use, which is to run a Kubernetes cluster locally. Itâs the scope that is downsized more than the functionality.
[ Keep tabs on Kubernetes: 5 Kubernetes trends to watch in 2020. ]
With that in mind, letâs look at six more things IT leaders and practitioners should know about Minikube:
1. Minikube can help you make the case for Kubernetes
âMinikube is a great way for some IT decision-makers to get a âlabâ experience.â
âTechnical leaders in IT are always on point to make the base case for meaningful change enabled by the injection of relevant technologies,â says E.G. Nadhan, Red Hat chief architect and strategist, North America Commercial. âWhen doing so, they are required to do this for a wide spectrum of leadership personalities.â
In other words, some of them want to dive deeper than others with Kubernetes technology. âMinikube is a great way for some IT decision-makers to get a âlabâ experience â especially if it is done in the context of business outcomes that matter to the enterprise,â Nadhan says.
If youâre struggling to help leaders at varying levels of the organization grasp what Kubernetes could do to speed progress toward business goals, Minikube on a laptop could help you make that case. âMinikube is a great example of how technology can influence the mindset â one leader at a time,â Nadhan says.
Did we mention Minikube is free?
[ Kubernetes terminology, demystified: Get our Kubernetes glossary cheat sheet for IT and business leaders. ]
2. Minikube is free and relatively easy to start using
Kubernetes has developed a reputation for a steep learning curve, particularly when youâre talking about running it in production. By definition and design, however, itâs relatively simple to get a cluster up and running locally with Minikube.
[ Related read: Kubernetes: 3 ways to get started. ]
Itâs a free download that can run on any of the major OSes, and the official Kubernetes documentation has clean instructions for installing Minikube, as well as a tutorial for creating a Hello World app to start getting some hands-on practice. If youâre using an RHEL/Fedora/CentOS workstation, our sibling site Opensource.com has a step-by-step guide on getting started with Minikube tailored specifically for you.
3. Minikube is especially good for developers
While anyone can use Minikube, itâs a particularly good fit for developers, for all manner of purposes, from hands-on learning about Kubernetes to testing and day-to-day development work.
Minikube can be especially valuable for developers and teams that are just beginning to kick the tires on Kubernetes.
âMinikube is great for developers to try something locally,â says Tom Manville, engineering lead at Kasten. Manville notes that you shouldnât try to run Minikube in a production environment. It simply wasnât intended as a tool for managing a production cluster, so to try doing so would be sort of like using a screwdriver to hammer a nail.
Again, it offers a low barrier to entry: Minikube puts a slimmed-down version Kubernetes on your local machine, without much in the way of cost or pain. This can be especially valuable for developers and teams that are just beginning to kick the tires on Kubernetes. You donât even need to spin up a new environment, just a VM running locally.
âDevelopers who wish to quickly start learning Kubernetes, without having to invest in or utilize a multi-node Kubernetes cluster on-premises or [in a] cloud, can use Minikube as a first step,â says Raghu Kishore Vempati, director of technology, research, and innovation at Altran. âMinikube powers the capability of a Kubernetes cluster to run in a single box with limited resources.â
4. Minikube works well for testing
Beyond learning and experimentation, Minikube can be a good developer tool for testing purposes, especially when building new applications, thanks to add-ons for more complex features. If youâre building apps specifically to be run in containers and managed with Kubernetes, Minikube is a good tool for your laptop.
âFor developers building cloud-native applications, Minikube can be used to perform initial testing locally, before they put them through a more formal test cycle,â Vempati says.
Minikube lets you test out heavier-duty features on that local box.
Even though youâre running it locally, Minikube offers a lot of add-ons and extensibility, which enables you to test out heavier-duty features on that local box.
âMinikube also provides the ability to utilize and test a few complex features locally,â Vempati says. âFor example, for an application running on a K8s cluster that needs to consume an NVIDIA GPU for processing, Minikube provides driver-installer and GPU-device-plugin add-ons that help developers to achieve the functionality.â
Vempati adds that there are several such add-ons so that developers can test the features and their own applications, such as the EFK add-on (Elasticsearch, Fluentd, and Kibana) for log analysis, Helm server (Tiller), and Kubernetes Dashboard. For teams exploring a service mesh approach in a microservices architecture, Vempati also points out thereâs an Istio add-on in Minikube: â[This] helps developers to test the functionality in a limited way before they are pushed to a larger K8s cluster for verifying scalability.â
Manville concurs about the development value of Minikube support for these add-ons. âIt supports add-ons so features like Helm (Tiller), an ingress controller, and the Kubernetes Dashboard are easy to enable,â Manville says, adding that Minikube can also be useful for trying out new versions of Kubernetes before upgrading your clusters.
5. Minikube is extensible: You can customize
In a similar vein as the existing add-ons, Minikube is open source and extensible, which enables developers to build their own and generally customize their Minikube cluster.
âMinikube is open source under the Apache 2.0 license,â Vempati says. âDevelopers can extend Minikube particularly to create custom add-ons and provide a customized version of Minikube. This approach is particularly useful in large organizations where developers use a Minikube version with customized add-ons.â
This extensibility is viewed in the Kubernetes community as one of Minikubeâs key benefits, just as extensibility is one of the major allures of the broader Kubernetes platform. In short, it gives developers and other IT pros more flexibility and power. It enables you to choose other flavors than plain vanilla, without ruling out vanilla as the perfect choice.
6. Itâs not the only tool for running Kubernetes locally
Minikube is a strong option, but itâs not the only local development tool available. There are other tools that might be a good fit, depending on your particular environment and needs.
MORE ON KUBERNETES
Kubernetes in production vs. Kubernetes in development: 4 myths
7 best practices: Building applications for containers and Kubernetes
Migrating applications to containers and Kubernetes: 5 best practices
Manville points to Minikubeâs âcousin,â Minishift, a tool for running OKD locally, as a good example. (OKD is the Kubernetes distribution embedded in Red Hat OpenShift.) Manville is also a fan of kind (Kubernetes IN Docker), especially if youâre looking to integrate with a CI/CD pipeline.