Umumnya kubernetes berada di dalam sebuah perangkat server, dengan adanya minikube kita dapat menginstal kubernetes di dalam laptop atau computer personal kita. Minikube merupakan tools yang berguna untuk menjalankan single node Kubernetes cluster dalam sebuah virtual machine yang ada di laptop. Dalam hal ini kita bisa menggunakan virtual machine seperti KVM, QEMU atau Virtualbox.
Pada tutorial ini kita menggunakan kvm sebagai virtual machine yang dijalankan di Arch. Pastikan terlebih dahulu di computer anda telah terinstal kubectl. Salah satu command tools kubernetes yang bisa digunakan untuk manajemen cluster, deploy aplikasi, dan menampilkan logs.
Sebelumnya pastikan perangkat anda support virtualisasi dengan perintah berikut dan pastikan output tidak kosong.
grep -E --color 'vmx|svm' /proc/cpuinfo
Instal minikube perintah berikut dan kemudian jalankan minikube, dalam kasus ini kita menggunakan driver kvm2
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
minikube start --vm-driver kvm2
Output:
😄 minikube v1.6.2 on Arch 18.1.5 ✨ Selecting 'kvm2' driver from user configuration (alternates: [virtualbox none]) 👍 Kubernetes 1.17.0 is now available. If you would like to upgrade, specify: --kubernetes-version=1.17.0 💡 Tip: Use 'minikube start -p <name>' to create a new cluster, or 'minikube delete' to delete this one. 🔄 Starting existing kvm2 VM for "minikube" ... ⌛ Waiting for the host to be provisioned ... 🐳 Preparing Kubernetes v1.16.2 on Docker '18.09.9' ... 🚀 Launching Kubernetes ... 🏄 Done! kubectl is now configured to use "minikube"
Selanjutnya untuk mengecek clusternya gunakan perintah di bawah ini
kubectl cluster-info
Output:
Kubernetes master is running at https://192.168.39.113:8443 KubeDNS is running at https://192.168.39.113:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Kita juga bisa menambahkan dashboard kubernetes dengan perintah berikut, lalu otomatis akan muncul ke browser anda
minikube dashboard
Setelah itu untuk bisa agar bisa diakses menggunakan IP public kita bisa menggunakan kubernetes proxy
kubectl proxy --address='0.0.0.0' --disable-filter=true
Untuk mengaksesnya kita bisa menggunakan format endpoint seperti ini
http://public-ip:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Output:

Reference:
https://kubernetes.io/docs/setup/learning-environment/minikube/