Minikube: start
Sumber: https://minikube.sigs.k8s.io/docs/start/
minikube adalah Kubernetes lokal, berfokus untuk membuatnya mudah dipelajari dan dikembangkan untuk Kubernetes.
Yang kita butuhkan hanyalah wadah Docker (atau kompatibel serupa) atau lingkungan Mesin Virtual, dan Kubernetes hanya dengan satu perintah:
minikube start
Spesifikasi Minimal
- CPU 2 core atau lebih
- RAM 2GB free
- Harddisk 20GB free
- Sambungan Internet
- Container atau virtual machine manager, seperti: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, atau VMware Fusion/Workstation
Instalasi
Linux Binary Package
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 sudo install minikube-linux-amd64 /usr/local/bin/minikube
Linux Debian Package
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb sudo dpkg -i minikube_latest_amd64.deb
Linux RPM Package
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm sudo rpm -Uvh minikube-latest.x86_64.rpm
Windows
Unduh dan jalankan penginstal untuk rilis terbaru. Atau jika menggunakan PowerShell, gunakan perintah ini:
New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force Invoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
Add the minikube.exe binary to your PATH. Make sure to run PowerShell as Administrator.
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) if ($oldPath.Split(';') -inotcontains 'C:\minikube'){ ` [Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine) ` }
Jika kita menggunakan terminal (seperti PowerShell) untuk instalasi, harap tutup terminal dan buka kembali sebelum menjalankan minikube.
Start minikube
Dari terminal dengan akses administrator (tetapi tidak login sebagai root), jalankan:
minikube start
Interaksi dengan Cluster minikube
Jika kita sudah menginstal kubectl, kita dapat menggunakannya untuk mengakses cluster baru dengan:
kubectl get po -A
Sebagai alternatif, minikube dapat mengunduh versi kubectl yang sesuai dan kita dapat menggunakannya seperti ini:
minikube kubectl -- get po -A
Kita juga dapat membuat hidup kita lebih mudah dengan menambahkan yang berikut ke konfigurasi shell kita:
alias kubectl="minikube kubectl --"
Awalnya, beberapa layanan seperti penyedia penyimpanan, mungkin belum dalam keadaan berjalan. Ini adalah kondisi normal selama pembentukan cluster, dan akan teratasi dengan sendirinya untuk sementara. Untuk wawasan tambahan tentang status cluster Anda, minikube menggabungkan Kubernetes Dashboard, memungkinkan kita untuk dengan mudah menyesuaikan diri dengan lingkungan baru kita. Untuk melihat dashboard
minikube dashboard
Akan membuka akses web di
http://127.0.0.1:46779/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Deploy Application
Buat contoh penerapan dan tampilkan di port 8080:
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4 kubectl expose deployment hello-minikube --type=NodePort --port=8080
Mungkin perlu beberapa saat, tetapi deployment kita akan segera muncul saat kita menjalankan:
kubectl get services hello-minikube
Cara termudah untuk mengakses layanan ini adalah membiarkan minikube meluncurkan peramban web untuk Anda:
minikube service hello-minikube
atau lakukan port fowarding
kubectl port-forward service/hello-minikube 7080:8080
supaya bisa di akses di http://localhost:7080/
Anda harus dapat melihat metadata permintaan dalam keluaran aplikasi. Coba ubah jalur permintaan dan amati perubahannya. Demikian pula, Anda dapat melakukan permintaan POST dan mengamati tubuh muncul di output.
Deploy Loadbalancer
Buat contoh penerapan dan tampilkan di port 8000:
kubectl create deployment balanced --image=k8s.gcr.io/echoserver:1.4 kubectl expose deployment balanced --type=LoadBalancer --port=8000
minikube tunnel
kubectl get services balanced
Bisa di akses dari <EXTERNAL-IP>:8000
Management Minicube
Pause Kubernetes tanpa memengaruhi aplikasi yang di deployed:
minikube pause
Unpause instance yang kondisinya pause:
minikube unpause
Berhentikan cluster minikube:
minikube stop
Ubah default memory limit (membutuhkan restart):
minikube config set memory 16384 minikube config set memory 9001
Telusuri katalog layanan Kubernetes yang mudah diinstal:
minikube addons list
Buat cluster kedua yang menjalankan rilis Kubernetes versi yang lebih lama:
minikube start -p aged --kubernetes-version=v1.16.1
Hapus semua kluster minikube:
minikube delete --all
Referensi