Cara Menginstal Minikube di Ubuntu 24.04|22.04|20.04
Apakah Anda siap untuk menemukan kekuatan Kubernetes? Dalam tutorial langkah demi langkah ini, kami akan menunjukkan cara menginstal Minikube di sistem Linux Ubuntu dengan hypervisor dasar berupa Libvirt (KVM) atau VirtualBox. Kami akan memulai dengan pengenalan dasar tentang Minikube, lalu masuk ke instalasi Minikube yang sebenarnya dan bagaimana cara mulai menggunakannya.
Minikube adalah alat sumber terbuka yang dikembangkan untuk memungkinkan pengembang dan administrator sistem menjalankan satu klaster Kubernetes di mesin lokal mereka. Minikube memulai klaster Kubernetes dengan satu node secara lokal dengan penggunaan sumber daya yang kecil. Ini ideal untuk pengujian pengembangan dan tujuan POC.
Panduan Lengkap Desktop Ubuntu
Kuasai Ubuntu seperti seorang ahli - mulai dari kustomisasi desktop yang indah hingga otomatisasi terminal yang kuat. Sempurna untuk pengembang, admin sistem, dan pengguna mahir yang ingin kendali penuh atas ruang kerja mereka.
Untuk CentOS, lihat: Menginstal Minikube di CentOS 7/8 dengan KVM.
Singkatnya, Minikube mengemas dan mengonfigurasi VM Linux, kemudian menginstal Docker dan semua komponen Kubernetes di dalamnya.
Minikube mendukung fitur-fitur Kubernetes seperti:
- DNS
- NodePorts
- ConfigMaps dan Secrets
- Dasbor
- Runtime Kontainer: Docker, CRI-O, dan containerd
- Mengaktifkan CNI (Container Network Interface)
- Masuk
- PersistentVolumes tipe hostPath
Mari kita mulai menginstal Minikube di Ubuntu Linux.
Pasang Hypervisor KVM atau VirtualBox
Jalankan perintah berikut untuk memperbarui semua paket sistem ke versi terbaru:
sudo apt update && sudo apt upgrade -yJika diperlukan restart setelah peningkatan, lakukan proses tersebut.
[ -f /var/run/reboot-required ] && sudo reboot -fBagi pengguna VirtualBox, pasang VirtualBox menggunakan:
- Pasang VirtualBox di Ubuntu
Pengguna Hypervisor KVM
Bagi yang tertarik menggunakan hypervisor KVM, lihat panduan kami tentang cara Menginstal KVM di CentOS/Ubuntu/Debian
Kemudian ikuti Cara menjalankan Minikube di KVM sebagai gantinya.
Unduh dan Konfigurasi Minikube di Ubuntu
Anda perlu mengunduh berkas biner minikube. Saya akan meletakkan berkas biner tersebut di direktori /usr/local/bin karena berada di dalam ` PATH.
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube-linux-amd64
sudo mv minikube-linux-amd64 /usr/local/bin/minikubeKonfirmasi versi yang terpasang
$ minikube version
minikube version: v1.33.1
commit: 5883c09216182566a63dff4c326a6fc9ed2982ffKita membutuhkan kubectl yang merupakan alat baris perintah yang digunakan untuk menerapkan dan mengelola aplikasi di Kubernetes:
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectlBuat file biner kubectl dapat dieksekusi.
chmod +x ./kubectl
Pindahkan berkas biner ke PATH Anda:
sudo mv ./kubectl /usr/local/bin/kubectlPeriksa versi:
$ kubectl version -o json --client
{
"clientVersion": {
"major": "1",
"minor": "30",
"gitVersion": "v1.30.2",
"gitCommit": "39683505b630ff2121012f3c5b16215a1449d5ed",
"gitTreeState": "clean",
"buildDate": "2024-06-11T20:29:44Z",
"goVersion": "go1.22.4",
"compiler": "gc",
"platform": "linux/amd64"
},
"kustomizeVersion": "v5.0.4-0.20230601165947-6ce0bf390ce3"
}Memulai minikube di Ubuntu
Sekarang komponen sudah terpasang, Anda bisa memulai minikube. Gambar VM akan diunduh dan dikonfigurasi untuk kluster single node Kubernetes.
- Minikube dengan driver KVM
minikube start --driver=kvm2- Dengan driver VirtualBox
minikube start --driver=virtualboxContoh hasil keluaran dari perintah eksekusi.
...................................
* Using the kvm2 driver based on user configuration
* https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* Downloading driver docker-machine-driver-kvm2:
> docker-machine-driver-kvm2-...: 65 B / 65 B [---------] 100.00% ? p/s 0s
> docker-machine-driver-kvm2-...: 13.46 MiB / 13.46 MiB 100.00% ? p/s 100
* Downloading VM boot image ...
> minikube-v1.33.1-amd64.iso....: 65 B / 65 B [---------] 100.00% ? p/s 0s
> minikube-v1.33.1-amd64.iso: 314.16 MiB / 314.16 MiB 100.00% 37.68 MiB p
* Starting "minikube" primary control-plane node in "minikube" cluster
* Downloading Kubernetes v1.30.0 preload ...
> preloaded-images-k8s-v18-v1...: 342.90 MiB / 342.90 MiB 100.00% 38.75 M
* Creating kvm2 VM (CPUs=2, Memory=2200MB, Disk=20000MB) ...
* Preparing Kubernetes v1.30.0 on Docker 26.0.2 ...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Configuring bridge CNI (Container Networking Interface) ...
* Verifying Kubernetes components...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
* Enabled addons: default-storageclass, storage-provisioner
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by defaultTunggu hingga proses unduh dan pengaturan selesai, kemudian pastikan semuanya berjalan dengan baik.
Untuk mengatur driver Minikube default, gunakan:
# VirtualBox
minikube config set driver virtualbox
# KVM
minikube config set driver kvmOperasi Dasar Minikube
Untuk memeriksa status klaster, jalankan:
$ kubectl cluster-info
Kubernetes master is running at https://192.168.39.117:8443
KubeDNS is running at https://192.168.39.117:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.Perlu dicatat bahwa file konfigurasi Minikube terletak di ~/.minikube/machines/minikube/config.json
Untuk melihat konfigurasi, gunakan:
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: cluster_info
server: https://192.168.39.249:8443
name: minikube
contexts:
- context:
cluster: minikube
extensions:
- extension:
last-update: Sat, 13 Jul 2024 15:29:47 UTC
provider: minikube.sigs.k8s.io
version: v1.33.1
name: context_info
namespace: default
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/profiles/minikube/client.crt
client-key: /root/.minikube/profiles/minikube/client.keyUntuk memeriksa node yang sedang berjalan:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 5m29s v1.30.0
Akses VM minikube menggunakan ssh:
$ minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$ sudo su -Untuk menghentikan cluster Kubernetes lokal yang sedang berjalan, jalankan:
$ minikube stopUntuk menghapus klaster Kubernetes lokal, gunakan:
$ minikube deleteKubernetes dilengkapi dengan dasbor web yang
$ minikube addons list
...
|-----------------------------|----------|--------------|--------------------------------|
| ADDON NAME | PROFILE | STATUS | MAINTAINER |
|-----------------------------|----------|--------------|--------------------------------|
| ambassador | minikube | disabled | 3rd party (Ambassador) |
| auto-pause | minikube | disabled | minikube |
| cloud-spanner | minikube | disabled | Google |
| csi-hostpath-driver | minikube | disabled | Kubernetes |
| dashboard | minikube | disabled | Kubernetes |
| default-storageclass | minikube | enabled ✅ | Kubernetes |
| efk | minikube | disabled | 3rd party (Elastic) |
| freshpod | minikube | disabled | Google |
| gcp-auth | minikube | disabled | Google |
| gvisor | minikube | disabled | minikube |
| headlamp | minikube | disabled | 3rd party (kinvolk.io) |
| helm-tiller | minikube | disabled | 3rd party (Helm) |
| inaccel | minikube | disabled | 3rd party (InAccel |
| | | | [[email ]) |
| ingress | minikube | disabled | Kubernetes |
| ingress-dns | minikube | disabled | minikube |
| inspektor-gadget | minikube | disabled | 3rd party |
| | | | (inspektor-gadget.io) |
| istio | minikube | disabled | 3rd party (Istio) |
| istio-provisioner | minikube | disabled | 3rd party (Istio) |
| kong | minikube | disabled | 3rd party (Kong HQ) |
| kubeflow | minikube | disabled | 3rd party |
| kubevirt | minikube | disabled | 3rd party (KubeVirt) |
| logviewer | minikube | disabled | 3rd party (unknown) |
| metallb | minikube | disabled | 3rd party (MetalLB) |
| metrics-server | minikube | disabled | Kubernetes |
| nvidia-device-plugin | minikube | disabled | 3rd party (NVIDIA) |
| nvidia-driver-installer | minikube | disabled | 3rd party (Nvidia) |
| nvidia-gpu-device-plugin | minikube | disabled | 3rd party (Nvidia) |
| olm | minikube | disabled | 3rd party (Operator Framework) |
| pod-security-policy | minikube | disabled | 3rd party (unknown) |
| portainer | minikube | disabled | 3rd party (Portainer.io) |
| registry | minikube | disabled | minikube |
| registry-aliases | minikube | disabled | 3rd party (unknown) |
| registry-creds | minikube | disabled | 3rd party (UPMC Enterprises) |
| storage-provisioner | minikube | enabled ✅ | minikube |
| storage-provisioner-gluster | minikube | disabled | 3rd party (Gluster) |
| storage-provisioner-rancher | minikube | disabled | 3rd party (Rancher) |
| volumesnapshots | minikube | disabled | Kubernetes |
| yakd | minikube | disabled | 3rd party (marcnuri.com) |
|-----------------------------|----------|--------------|--------------------------------|Untuk mengaktifkan modul, gunakan perintah:
minikube addons enable <module>Contoh :
$ minikube addons enable portainer
! portainer is a 3rd party addon and is not maintained or verified by minikube maintainers, enable at your own risk.
! portainer does not currently have an associated maintainer.
- Using image docker.io/portainer/portainer-ce:2.15.1
* The 'portainer' addon is enabledUntuk membuka langsung di browser default Anda, gunakan:
$ minikube dashboardUntuk mendapatkan URL dasbor
$ minikube dashboard --url
http://192.168.39.117:30000Akses Dashboard Kubernetes dengan membuka URL di browser favorit Anda. Untuk bacaan lebih lanjut, periksa:
- Hello Minikube Series: https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/
- Panduan Minikube untuk pemula tersedia di: https://kubernetes.io/docs/getting-started-guides/minikube/
Panduan lebih lanjut tentang Kubernetes:
- Jadwalkan Pod di Node Control Plane (Master) Kubernetes
- Menambahkan Worker Node Kubernetes baru ke Cluster yang sudah ada
- Menyebarkan Klaster Kubernetes di CentOS dengan Ansible dan Calico CNI
- Menerapkan Metrics Server ke Klaster Kubernetes
- Tarik gambar kontainer yang digunakan oleh Kubernetes kubeadm secara manual
- Pasang dan Gunakan Helm 3 di Cluster Kubernetes