Langkah-langkah Setup Minikube + Kubernetes
1. Install Tools Dasar
Pastikan sudah install:
-
Docker
-
Kubectl
-
Minikube
-
Kubeadm (opsional, untuk manual cluster setup)
👉 Cek versinya:
docker --version
kubectl version --client
kubeadm version
minikube version
2. Konfigurasi Docker
Supaya tidak perlu sudo tiap kali pakai docker:
# Buat group docker (jika belum ada)
sudo groupadd docker
# Tambahkan user ke group docker
sudo usermod -aG docker $USER
➡️ Logout & login ulang agar efektif.
Coba tes:
docker run hello-world
3. Aktifkan Service Docker & Containerd
Supaya otomatis jalan saat boot:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Lalu start:
sudo systemctl start docker.service
sudo systemctl start containerd.service
4. Bersihkan Minikube Lama (opsional)
Jika sebelumnya pernah setup Minikube:
minikube delete --all
5. Jalankan Minikube
Ada dua opsi:
-
Driver Docker (disarankan):
minikube start --driver=docker
-
Default Driver:
minikube start
Cek status:
minikube status
6. Cek Kubernetes Cluster
Tes apakah cluster aktif:
kubectl get nodes
kubectl get pods -A
Kalau berhasil, biasanya output kubectl get nodes akan menampilkan 1 node dengan status Ready.
7. Verifikasi API Server
Pastikan kube-apiserver jalan di dalam container:
sudo docker ps | grep kube-apiserver
8. Jalankan Aplikasi Uji
Misalnya jalankan Pod sederhana:
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-node --type=NodePort --port=8080
Cek:
kubectl get pods
kubectl get svc
Untuk akses dari browser:
minikube service hello-node
✅ Alur singkat
-
Install tools (Docker, Kubectl, Minikube, Kubeadm).
-
Konfigurasi Docker user.
-
Enable Docker & Containerd.
-
Hapus cluster lama (opsional).
-
Start Minikube.
-
Tes
kubectl. -
Cek
kube-apiserver. -
Deploy aplikasi test.
Ini dia diagram alur setup Minikube + Kubernetes yang lebih mudah dipahami secara visual:
🔽 Mulai dari install tools → konfigurasi Docker → start Minikube → cek cluster → deploy aplikasi test.
📝 Quick Notes Setup Minikube
-
Install tools → Docker, Kubectl, Minikube, Kubeadm.
-
Cek versi →
docker --version,kubectl version --client,kubeadm version,minikube version. -
Atur Docker user →
sudo groupadd docker && sudo usermod -aG docker $USER→ logout/login. -
Enable services →
sudo systemctl enable/start docker.service containerd.service. -
Hapus cluster lama →
minikube delete --all(opsional). -
Start cluster →
minikube start --driver=docker. -
Cek status →
kubectl get nodes,kubectl get pods -A. -
Verifikasi API server →
docker ps | grep kube-apiserver. -
Deploy test app →
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4. -
Expose service →
kubectl expose deployment hello-node --type=NodePort --port=8080. -
Akses app →
minikube service hello-node.
⚡Dengan catatan ini, kalau mau setup ulang cluster, tinggal ikuti urutannya.
🚀 setup-minikube.sh
#!/bin/bash
echo "=== 🚀 Setup Minikube + Kubernetes ==="
# 1. Cek versi tools
echo "[1] Mengecek versi tools..."
docker --version
kubectl version --client
kubeadm version
minikube version
# 2. Konfigurasi Docker user
echo "[2] Konfigurasi Docker group & user..."
sudo groupadd docker 2>/dev/null
sudo usermod -aG docker $USER
# 3. Enable & start Docker + Containerd
echo "[3] Mengaktifkan Docker & Containerd..."
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
sudo systemctl start docker.service
sudo systemctl start containerd.service
# 4. Tes Docker
echo "[4] Menjalankan tes Docker (hello-world)..."
docker run hello-world
# 5. Hapus cluster lama (opsional)
echo "[5] Menghapus cluster Minikube lama..."
minikube delete --all
# 6. Start Minikube dengan Docker
echo "[6] Memulai Minikube..."
minikube start --driver=docker
# 7. Cek status cluster
echo "[7] Mengecek status cluster..."
kubectl get nodes
kubectl get pods -A
# 8. Deploy aplikasi test
echo "[8] Deploy aplikasi hello-node..."
kubectl create deployment hello-node --image=k8s.gcr.io/echoserver:1.4 --dry-run=client -o yaml | kubectl apply -f -
kubectl expose deployment hello-node --type=NodePort --port=8080
# 9. Akses aplikasi
echo "[9] Membuka service hello-node..."
minikube service hello-node
📌 Cara Pakai
-
Simpan file ini →
setup-minikube.sh. -
Beri izin eksekusi:
chmod +x setup-minikube.sh -
Jalankan script:
./setup-minikube.sh
⚡ Script ini akan langsung install cluster, jalanin Docker test, start Minikube, deploy pod sederhana, expose service, sampai membuka akses ke browser.
🗑️ reset-minikube.sh
#!/bin/bash
echo "=== 🗑️ Reset Minikube + Docker ==="
# 1. Stop & delete semua cluster Minikube
echo "[1] Menghapus semua cluster Minikube..."
minikube stop
minikube delete --all --purge
# 2. Hapus konfigurasi Minikube
echo "[2] Menghapus konfigurasi Minikube..."
rm -rf ~/.minikube
rm -rf ~/.kube
# 3. Hentikan semua container Docker yang masih jalan
echo "[3] Menghentikan semua container Docker..."
docker stop $(docker ps -aq) 2>/dev/null
# 4. Hapus semua container & image Docker
echo "[4] Menghapus semua container & image Docker..."
docker rm -f $(docker ps -aq) 2>/dev/null
docker rmi -f $(docker images -q) 2>/dev/null
docker volume prune -f
docker system prune -af --volumes
# 5. Restart Docker service
echo "[5] Restart Docker service..."
sudo systemctl restart docker.service
sudo systemctl restart containerd.service
echo "✅ Reset selesai! Sistem siap untuk setup ulang Minikube."
📌 Cara Pakai
-
Simpan file ini →
reset-minikube.sh. -
Beri izin eksekusi:
chmod +x reset-minikube.sh -
Jalankan script:
./reset-minikube.sh
⚡ Script ini akan:
-
Stop & hapus cluster Minikube.
-
Bersihkan konfigurasi
~/.minikube&~/.kube. -
Hapus semua container & image Docker (jadi Docker benar-benar fresh).
-
Restart Docker & Containerd.
Pastikan container minikube container sudah running seperti berikut:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58f46e1db165 gcr.io/k8s-minikube/kicbase:v0.0.47 "/usr/local/bin/entr…" 3 weeks ago Up 6 minutes 127.0.0.1:32773->22/tcp, 127.0.0.1:32774->2376/tcp, 127.0.0.1:32775->5000/tcp, 127.0.0.1:32776->8443/tcp, 127.0.0.1:32777->32443/tcp minikube
$ minikube start --driver=docker
Tentukan port supaya tidak dinamis, misal di port 8001
🤔 Verifying dashboard health ...
🚀 Launching proxy ...
🤔 Verifying proxy health ...
http://127.0.0.1:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Komentar
Posting Komentar