Learn about how minikube is a way to run Kubernetes locally. Learn about some of its advanced features.
- [Instructor] If you're new to the Kubernetes ecosystem and wanting to play around, then Minikube is the tool you want to be using. It makes running kubernetes locally a breeze and you can create a single-node cluster instead the M on your laptop within a few minutes. Before installing Minikube, you'll need to get a container platform like Docker or Cortez Rocket, but I'd recommend Docker because the majority of the container industry has settled on using Docker at this point and time. You can get Minikube running on the latest versions of Mac, Linux and works well on Windows Professional Edition.
If you're running on a Mac or a Linux, you'll want to get a VM driver like VirtualBox or VMWare Fusion. On Windows, you're better off using the xhyve driver to accomplish this because it's a requirement to run Docker on Windows. If you're more interested in the setup flow, take a look at the learning Kubernetes course in the library when I walk through the install process in a bit more detail. You'll even find how to go about running you first applications and it's a great course for a primer to Kubernetes. There are a few advanced features in Minikube that new users don't realize exist that are important to bring up.
First, Minikube supports add-on components that come with Minikube that need to be turned on. This is pretty neat because you can open up Minikube with a whole bunch of different tools, like Keepster, which collects metrics, the dashboard, and private Docker registries. Definitely something to keep in mind. To take a look at the add-on components just do minikube addons list or enable a new add-on by Minikube add-ons enabled. If you work with different Kubernetes versions like I do, the having Minikube is a total win.
You can actually pass the version of Kubernetes that you want to run when you start Minikube by adding the minus minus kubernetes version flag to minikube start. This has helped me in the past to debug application issues that rely on kubernetes features that might have been updated from one release to another. Specifically when I use an alpha feature. So even as an advanced user, I use Minikube all the time in scenarios to see if I need to test applications or upgrade paths in a local setting.
You can also use Minikube with private container registries. Large enterprises inevitably have private Docker so this features allows you to synchronize your Kubernetes development with your private registries. You can use the minus minus insecure registry flag with Minikube start to enable insecure Docker registries or you can enable the registry-creds-add-on to communicate with Google Container Registry (GCR), Amazon's EC2 Container registry or you're own private Docker repos.
Overtime, the nicest thing that I have found about Minikube is that it keeps pace really well with the latest released versions of Kubernetes, so you always have a local environment to test out brand new features of Kubernetes. Super useful when you're trying to test upgrades before you roll out the latest version of Kubernetes on a larger scale.
- Strategies for creating and interacting with objects
- Searching, sorting, and filtering applications
- Deleting strategies for applications
- Running Kubernetes using Minikube, kubeadm, and kops
- Using the Kubernetes dashboard
- Federation and kubefed