Minikube – a utility to run a Kubernetes cluster locally on your PC.
It can use Virtualbox, VMware, Hyper-V etc hypervisors which will be used to create a virtual machine with a Kubernetes cluster.
Minikube is a great tool for developers or DevOps engineers to test deployments/services etc without the need to create and conigure a real cluster.
In the post below – a quick HowTo install it and run a Kubernetes pod using the Minikube.
In Arch Linux can be installed from AUR:
$ yaourt -S minikube
If you haven’t Virtualbox yet – install it, here it will be used for Minikube:
$ sudo pacman -S virtualbox
minikube
will work with Kubernetes via kubectl
– install it as well:
$ yaourt -S kubectl
Now check it.
Start Minikube itself:
$ minikube start
[😄] minikube v0.35.0 on linux (amd64)
[🔥] Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ...
[💿] Downloading Minikube ISO ...
184.42 MB / 184.42 MB [============================================] 100.00% 0s
[📶] "minikube" IP address is 192.168.99.100
[🐳] Configuring Docker as the container runtime ...
[✨] Preparing Kubernetes environment ...
[💾] Downloading kubelet v1.13.4
[💾] Downloading kubeadm v1.13.4
[🚜] Pulling images required by Kubernetes v1.13.4 ...
[🚀] Launching Kubernetes v1.13.4 using kubeadm ...
[⌛] Waiting for pods: apiserver proxy etcd scheduler controller addon-manager dns
[🔑] Configuring cluster permissions ...
[🤔] Verifying component health .....
[💗] kubectl is now configured to use "minikube"
[🏄] Done! Thank you for using minikube!
Check Virtualbox VMs running:
$ VBoxManage list runningvms
"minikube" {37da5f2d-c486-4419-a152-eb5dcedde6f3}
Create a new pod:
$ kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/hello-minikube created
Run the service:
$ kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed
List pods:
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-minikube-5857d96c67-x46nk 1/1 Running 0 74s
And check the service itself:
$ curl $(minikube service hello-minikube --url)
CLIENT VALUES:
client_address=172.17.0.1
command=GET
real path=/
query=nil
request_version=1.1
request_uri=http://192.168.99.100:8080/
SERVER VALUES:
server_version=nginx: 1.10.0 - lua: 10001
HEADERS RECEIVED:
accept=*/*
host=192.168.99.100:31345
user-agent=curl/7.64.0
BODY:
-no body in request-
After you’ll finish – stop and delete VMs, pods, and services:
$ minikube stop
[✋] Stopping "minikube" in virtualbox ...
[🛑] "minikube" stopped.
Done.
Similar posts
- 02/27/2017 Docker: Compose down – network jmadmin_default has active endpoints (0)
- 12/28/2016 Arch: установка VirtualBox, Vagrant и Docker (0)
- 02/15/2017 Arch: Virtualbox – No kernel 4.8.10-1-ARCH headers (0)
- 04/21/2017 Bash – скрипт удаления образов с Docker Swarm нод (0)
Top comments (1)
Well done... I prefer to run the minikube with Podman engine, kinda full open source solution and get up faster than with VB.