Minikube adalah alat yang memungkinkan Anda menjalankan Kubernetes di sistem komputer lokal Anda. Minikube akan membuat cluster Kubernetes node tunggal di dalam VM tergantung pada vm-driver yang Anda gunakan. Minikube bagus untuk mempelajari Kubernetes, termasuk tujuan pengujian, pengembangan, atau pelatihan.
Dalam tutorial ini, kami akan menunjukkan langkah demi langkah cara membuat cluster Kubernetes node tunggal secara lokal menggunakan Minikube di Manjaro/ArchLinux. Panduan ini akan mengimplementasikan cluster Kubernetes secara lokal dengan driver KVM2, dan mencakup contoh penerapan layanan Nginx.
Apa yang akan kami lakukan:
- Instal Dependensi Paket
- Instal mesin Docker dan Driver KVM2
- Instal Minikube dan Kubectl
- Inisialisasi Kubernetes dengan Minikube
- Pengujian Penerapan
- Mengakses Dasbor Kubernetes
Langkah 1 - Instal Ketergantungan Paket
Langkah pertama yang akan kita lakukan adalah menginstall semua dependensi paket termasuk qemu KVM dan dnsmasq.
Instal qemu dan dnsmasq menggunakan perintah pacman di bawah ini.
sudo pacman -Sy libvirt qemu ebtables dnsmasq
Saat penginstalan selesai, tambahkan pengguna ke grup 'libvirt' dan muat ulang.
sudo usermod -a -G libvirt $(whoami)
newgrp libvirt
Sekarang mulai layanan libvirtd dan virtlogd, dan tambahkan layanan tersebut ke waktu boot.
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service
Paket dan dependensi qemu KVM telah diinstal pada sistem.
Langkah 2 - Instal Docker-Machine dan Driver KVM2
Minikube menggunakan mesin buruh pelabuhan untuk mengelola VM Kubernetes, dan kita perlu menginstal 'docker-machine-driver-kvm2' untuk itu.
Instal mesin buruh pelabuhan menggunakan perintah pacman di bawah ini.
sudo pacman -Sy docker-machine
Sekarang instal 'docker-machine-driver-kvm2' dari repositori AUR menggunakan perintah yaourt.
yaourt -Sy docker-machine-driver-kvm2
Tunggu penginstalan.
Langkah 3 - Instal Minikube dan Kubectl
Untuk panduan ini, kita akan menginstal Minikube dan kubectl dari repositori AUR.
Jalankan perintah yaourt di bawah ini.
yaourt -Sy minikube-bin kubectl-bin
Ketika instalasi selesai, periksa versi Minikube dan perintah kubectl.
minikube version
whereis kubectl
kubectl -h
Langkah 4 - Inisialisasi Kubernetes dengan Minikube
Inisialisasi cluster Kubernetes node tunggal menggunakan perintah Minikube di bawah ini.
minikube start --vm-driver kvm2
Perintah tersebut akan mengunduh file ISO Minikube dan membuat mesin virtual KVM pada sistem.
Jika sudah selesai maka akan mendapatkan hasil seperti dibawah ini.
Kubernetes telah terinstal di komputer lokal menggunakan Minikube, periksa dengan menjalankan semua perintah di bawah ini.
minikube status
kubectl cluster-info
kubectl get nodes
Sekarang Anda akan melihat hasilnya di bawah ini.
Cluster Kubernetes aktif dan berjalan di komputer lokal dengan alamat IP '192.168.39.78', menggunakan Kubernetes v1.10, dan satu node bernama minikube sebagai master cluster.
Langkah 5 - Menguji Penerapan
Pada langkah ini, kita akan menguji kubernet dengan membuat penerapan baru untuk server web Nginx.
Buat direktori baru bernama 'project/nginx/' dan buka direktori tersebut.
mkdir -p projects/nginx/
cd projects/nginx/
Sekarang buat file yaml baru untuk konfigurasi penerapan kami.
vim nginx-deployment-service.yaml
Dan rekatkan konfigurasi di bawah ini.
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
run: nginx-service
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
selector:
app: nginx
Simpan dan keluar.
Sekarang buat penerapan dengan menjalankan perintah kubectl di bawah ini.
kubectl create -f nginx-deployment.yaml
Jika sudah selesai, periksa penerapan Kubernetes.
kubectl get deployments
kubectl describe deployments nginx-deployment
Dan Anda akan mendapatkan 'nginx-deployment' dalam daftar.
Sekarang periksa layanan Kubernetes.
kubectl get services
kubectl describe services nginx-service
Dan Anda akan melihat NodePort 'nginx-service' berjalan pada port '32274'.
Periksa IP cluster Kubernetes dan akses menggunakan perintah curl.
minikube ip
curl -I http://192.168.39.49:32274/
Dan Anda akan mendapatkan respons dari server web Nginx.
Berikut adalah hasil saat kita mengakses dari web browser.
http://192.168.39.49:32274/
Langkah 6 - Akses Dasbor Kubernetes
Minikube menyediakan perintah untuk mengakses dasbor Kubernetes yang berjalan di dalam cluster Minikube.
Jalankan perintah di bawah ini.
minikube dashboard
Perintah tersebut akan membuka dasbor Kubernetes menggunakan browser web default pada sistem.
Di bawah ini adalah dasbor Kubernetes.
Instalasi Kubenrnetes di komputer lokal Manjaro/Archlinux menggunakan Minikube telah berhasil diselesaikan.