Minikube is a tool that lets you run a single-node Kubernetes cluster on your personal computer or in EC2 instance so that you can try out Kubernetes.
The releases page has builds for Linux, OSX, and Windows environments
To start a local single-node Kubernetes cluster, run the command
(you won’t need root to start Minikube)
Use this command to start the cluster and download any other necessary dependencies.
minikube start your output may not look identical to this
If you're having trouble starting minikube, don't worry, just head over to the drivers page where you'll find instructions on how to set up a compatible container or virtual-machine manager.
If you have already installed kubectl, you can use it to access your new cluster.
kubectl get po -A
It’s a good idea to alias the kubectl command to run through Minikube with
alias kubectl="minikube kubectl --"
At the start, certain services like the storage-provisioner may not be Running yet. This is a typical occurrence when bringing up a cluster and will be resolved shortly.
To open your Kubernetes dashboard, run:
Success! the Minikube dashboard
Create a sample deployment and expose it on port 8080:
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0 kubectl expose deployment hello-minikube --type=NodePort --port=8080
It may take a moment, but your deployment will soon appear when you run:
kubectl get services hello-minikube
The most efficient way to access this service is to have minikube launch a web browser for you:
minikube service hello-minikube
Alternatively, use kubectl to forward the port:
kubectl port-forward service/hello-minikube 7080:8080
Your application is now available at localhost:7080. You can see the request metadata and do a POST request to observe the body in the output.
Minikube is a well-known tool for Kubernetes development and testing. However, it is important to note that while it is a great tool for local development, it has its limitations especially when simulating a production-level multinode Kubernetes cluster. One of the major limitations of Minikube is that the local cluster can only consist of one node. As a result, it may not be the best tool for testing or simulating more complex Kubernetes clusters with multiple nodes, which are closer to the production environment.
Also, no matter how beefy your local machine is, you’re going to run out of resources once you have a few dozen services running together.
Finally, when working with a large number of developers, local replication is always going to be limited: it becomes very difficult to keep up with the state of multiple services that other developers are updating.
For production-like environments with dozens or hundreds of other developers, you’ll want a sandboxing tool like Signadot in your staging environment to let you work with a modified version of your service, by dynamically routing requests to it.
You can get started with Signadot in just a few minutes, and be ready to test changes on your services in a real-word environment.
Join our 1000+ subscribers for the latest updates from Signadot