Table of contents
Open Table of contents
Prerequisite
- Windows 10 (Pro or Enterprise), or Windows 11 (Pro or Enterprise)
- Minikube https://minikube.sigs.k8s.io/docs/
- HyperV https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/get-started/install-hyper-v?pivots=windows
Minikube HyperV
Pada Blog sebelum nya kita sudah membahas mengenai integrasi kubernetes menggunakan wsl pada minikube https://blog.kevinavicenna.xyz/posts/setting-up-kubernetes-on-windows-with-minikube-and-wsl-2/ , dan pada kesempatan kali ini kita akan membahas mengenai minikube multinode untuk penggunakan development aplikasi di local host kita.
Pada pengunaan minikube kita bisa menggunakan beberapa driver diantaranya docker , virtualbox ,hyperv, hyperkit dan lainnya. Kesempatan kali ini kita akan membahas penggunaan minikube pada hyperv. HyperV sendiri merupakan teknologi yang dikembangkan Microsoft yang dapat menjalankan virtual machine. Jadi kita akan menggunakan HyperV sebagai virtualisasi yang menjalankan Master Node dan Worker Node kita
Setup HyperV dan Minikube
Pastikan kita mengaktifkan hyperv pada widows feature , setelah aktif maka lakukan restart pada host kita

untuk instalasi pada minikube kita bisa menggunakan package manager dari windows yaitu winget
winget install Kubernetes.minikube
Setup 1 Master Node and Setup 2 Worker Node

Seperti bagan ini kita akan provision 1 master dan 2 worker dengan spek yang ala kadarnya
untuk master kita menggunakan 2 vpcu dan 2 gb mem, sementara masing-masing worker menggunakan 2 vcpu dan 2 gb mem, yang dimana kita membutuhkan total 6vcpu dan 6gb memory
minikube start --memory=2048 --driver=hyperv --cni=calico --container-runtime=containerd --profile k8s
minikube node add --profile k8s
Bila telah selesai maka tampilan seperti diatas, untuk mengetahui apakah cluster benar benar sudah siap pakai atau tidak kita bisa mengecek nya dengan perintah berikut
kubectl get nodes -o wide
#describe node to check condition inside the node
kubectl describe nodes (the_name_of_our_node)

Troubleshoot
Bila terjadi masalah pada jaringan seperti ini, maka kita hentikan node terlebih dahulu dan jalan kan kembali dengan menambahkan parameter —cni
minikube stop -p k8s
minikube start --profile k8s --cni=calico