Minikube adalah tool free dan open source yang memungkinkan Anda untuk mengatur cluster Kubernetes single node di dalam sistem Linux.
Minikube dapat diinstal pada sistem operasi Linux, MacOS dan Windows. Minikube juga mendukung berbagai fitur Kubernetes seperti NodePorts, DNS, Container Network Interface, Ingress, ConfigMaps, Secrets, dan banyak lagi.
Dalam tutorial ini, kita akan belajar cara menginstal Kubernetes single-node Cluster Minikube di Ubuntu 18.04 LTS.
Persyaratan
- Desktop Ubuntu 18.04 fresh install.
- Masuk sebagai root atauĀ user dengan hak sudo.
Sebelum Mulai
Sebelum memulai, perbarui server dengan versi terbaru menggunakan perintah berikut:
apt-get update -y apt-get upgrade -y
Setelah sistem up-to-date, restart untuk meminimalisir terjadinya kesalahan pada sistem.
Selanjutnya, instal beberapa paket yang diperlukan dengan perintah berikut:
apt-get install curl wget apt-transport-https -y
Install VirtualBox Hypervisor
Minikube mendukung baik KVM maupun VirtualBox hypervisor. Jadi, Anda perlu menginstal VirtualBox atau KVM ke sistem.
Pada tutorial ini, Kita akan menggunakan VirtualBox, instal Virtualbox dengan perintah berikut:
sudo apt-get install virtualbox virtualbox-ext-pack
Setelah instalasi selesai, Anda dapat melanjutkan ke langkah berikutnya.
Install Minikube
Pertama, Anda harus download versi terbaru Minikube ke sistem. Anda dapat mengunduhnya dari situs web resmi mereka dengan perintah berikut:
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
Setelah unduhan selesai, salin file yang telah di download tadi ke direktori /usr/local/bin
dengan perintah berikut:
cp minikube-linux-amd64 /usr/local/bin/minikube
Selanjutnya, berikan izin eksekusi ke minikube dengan perintah berikut:
chmod 755 /usr/local/bin/minikube
Selanjutnya, periksa versi Minikube dengan perintah berikut:
minikube version
Anda akan melihat output berikut:
minikube version: v0.34.1
Install Kubectl
Kubectl adalah tool untuk deploy dan mengelola aplikasi di Kubernetes. Secara default, Kubectl tidak tersedia di repositori default Ubuntu 18.04. Jadi, Anda perlu menambahkan repositori Kubernetes ke sistem.
Pertama, download dan tambahkan GPG key dengan perintah curl
berikut:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
Selanjutnya, tambahkan repositori apt Kubernetes dengan perintah berikut:
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
update dan install kubectl dengan perintah berikut :
apt-get update -y apt-get install kubectl -y
Selanjutnya, perbarui repositori dan instal Kubectl dengan perintah berikut:
kubectl version -o json
Anda akan melihat output berikut:
{ "clientVersion": { "major": "1", "minor": "13", "gitVersion": "v1.13.4", "gitCommit": "c27b913fddd1a6c480c229191a087698aa92f0b1", "gitTreeState": "clean", "buildDate": "2019-02-28T13:37:52Z", "goVersion": "go1.11.5", "compiler": "gc", "platform": "linux/amd64" } }
Start Minikube
Jika mengikuti tutorial di atas, berarti semua paket yang diperlukan sudah diinstal. Anda sekarang dapat memulai Minikube dengan perintah berikut:
minikube start
Perintah ini akan download Virtualbox image dan mengkonfigurasi cluster Kubernetes seperti yang ditunjukkan di bawah ini:
o minikube v0.34.1 on linux (amd64) > Creating virtualbox VM (CPUs=2, Memory=2048MB, Disk=20000MB) ... @ Downloading Minikube ISO ... 184.30 MB / 184.30 MB [============================================] 100.00% 0s - "minikube" IP address is 192.168.33.100 - Configuring Docker as the container runtime ... - Preparing Kubernetes environment ... @ Downloading kubeadm v1.13.3 @ Downloading kubelet v1.13.3 - Pulling images required by Kubernetes v1.13.3 ... - Launching Kubernetes v1.13.3 using kubeadm ... - Configuring cluster permissions ... - Verifying component health ..... + kubectl is now configured to use "minikube" = Done! Thank you for using minikube!
Anda dapat memeriksa status cluster dengan perintah berikut:
kubectl cluster-info
Anda akan melihat output berikut:
Kubernetes master is running at https://192.168.33.100:8443 KubeDNS is running at https://192.168.33.100:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Anda juga dapat memeriksa konfigurasi default Kubectl dengan perintah berikut:
kubectl config view
Perintah di atas akan menampilkan output kurang lebih seperti berikut:
apiVersion: v1 clusters: - cluster: certificate-authority: /root/.minikube/ca.crt server: https://192.168.33.100:8443 name: minikube contexts: - context: cluster: minikube user: minikube name: minikube current-context: minikube kind: Config preferences: {} users: - name: minikube user: client-certificate: /root/.minikube/client.crt client-key: /root/.minikube/client.key
Untuk memeriksa node yang berjalan, jalankan perintah berikut:
kubectl get nodes
Output:
NAME STATUS ROLES AGE VERSION minikube Ready master 2m25s v1.13.3
Anda juga dapat mengakses Minikube Virtualbox dengan perintah berikut:
minikube ssh
output:
_ _ _ _ ( ) ( ) ___ ___ (_) ___ (_)| |/') _ _ | |_ __ /' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\ | ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/ (_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____) $
Untuk keluar dari shell Virtualbox, gunakan perintah berikut :
$exit
Anda juga dapat menghentikan dan menghapus cluster kubernetes kapan saja dengan perintah berikut:
minikube stop minikube delete
periksa status Minikube dengan perintah berikut:
minikube status
Anda akanĀ melihat output berikut :
host: Running kubelet: Running apiserver: Running kubectl: Correctly Configured: pointing to minikube-vm at 192.168.33.100
Akses Dashboard Web Kubernetes
Secara default, Kubernetes hadir dengan dashboard web yang dapat digunakan untuk mengelola cluster Anda.
Anda bisa list semua addons minikube dengan perintah berikut:
minikube addons list
Anda akan melihat output berikut:
- addon-manager: enabled - dashboard: disabled - default-storageclass: enabled - efk: disabled - freshpod: disabled - gvisor: disabled - heapster: disabled - ingress: disabled - logviewer: disabled - metrics-server: disabled - nvidia-driver-installer: disabled - nvidia-gpu-device-plugin: disabled - registry: disabled - registry-creds: disabled - storage-provisioner: enabled - storage-provisioner-gluster: disabled
Selanjutnya, list semua container yang berjalan di cluster dengan perintah berikut:
kubectl get pods --all-namespaces
Anda akan melihat output berikut:
NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-86c58d9df4-76dkf 1/1 Running 0 4m30s kube-system coredns-86c58d9df4-wdtwb 1/1 Running 0 4m29s kube-system etcd-minikube 1/1 Running 0 8m17s kube-system kube-addon-manager-minikube 1/1 Running 0 8m6s kube-system kube-apiserver-minikube 1/1 Running 1 8m13s kube-system kube-controller-manager-minikube 1/1 Running 1 8m13s kube-system kube-proxy-5k8qf 1/1 Running 0 4m33s kube-system kube-scheduler-minikube 1/1 Running 0 8m2s kube-system kubernetes-dashboard-ccc79bfc9-z827s 1/1 Running 0 4m17s kube-system storage-provisioner 1/1 Running 0 4m13s
Sekarang, jalankan perintah berikut untuk mendapatkan URL dashboard kubernate:
minikube dashboard --url
Anda akan melihat output berikut:
- Enabling dashboard ...
- Verifying dashboard health ...
- Launching proxy ...
- Verifying proxy health ...
http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/
URL web Minikube Anda sekarang telah dibuat. Selanjutnya, buka web browser dan ketik URL http://127.0.0.1:56508/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/. Anda akan dialihkan ke dasbor Kubernate seperti yang ditunjukkan pada halaman berikut:
Selamat! Anda telah berhasil menginstal Minikube di Ubuntu 18.04. Dalam tutorial ini kita belajar cara install dan konfigurasi Minikube, serta konfigurasi web dashboard kubernetes untuk mempermudah dalam mengelola cluster Kubernetes melalui web browser.