Arjuna Mahavira
Untuk memaksimalkan kecepatan server di pusat data, Docker dan Kubernetes menggunakan virtualisasi cloud service. Memahami istilah-istilah ini secara mendasar dapat membantu kita dalam mengelola dan menjalankan cloud service secara menyeluruh.
Enable WSL dan Virtual Machine yang merupakan fitur bawaan dari windows:
Buka windows powershell jalankan sebagai administrator
Jalankan:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Download Package untuk update Linux Kernel melalui link berikut dan lakukan instalasi:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
setelah dijalankan akan seperti ini:
Update WSL 1 ke WSL 2
jalankan:
wsl –set-default-version 2
Buka Microsoft Store dan install ubuntu
Setelah terinstal, jalankan ubuntu dan buat username dan password baru
Download installer docker dekstop pada laman resmi docker
https://docs.docker.com/desktop/install/windows-install/
Buka installer yang telah di download dan install docker dekstop
Proses instalasi akan terlihat seperti berikut:
Jika sudah selesai terlihat seperti ini:
Buka aplikasi docker dekstop
Untuk mengaktifkan kubernetes, buka setting pada docker dekstop
Lalu pilih menu kubernetes. Check pada kolom enable kubernetes lalu apply & restart.
Setelah itu docker akan otomatis mendownload dan running kubernetes, begini tampilannya saat proses enable kuernetes:
Jika sudah terinstall, akan terdapat beberapa system container dari kubernetes
Untuk memastikan kubernetes berjalan, buka wsl dan jalankan perintah ini:
kubectl version
Untuk melihat semua node dan semua pod yang berjalan pada kubernetes dapat menjalankan perintah berikut:
kubectl get node
kubectl get pod
Buat file konfigurasi baru untuk kubernetes. Jalankan perintah berikut:
Nano <namafilepod>.yaml
Isi dari file konfigurasi dapat disesuaikan, pada kali ini saya menggunakan example dari github berikut:
https://github.com/khannedy/belajar-kubernetes/blob/master/examples/service-nginx-nodeport.yaml
berikut isinya:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx
spec:
replicas: 3
selector:
matchLabels:
name: nginx
template:
metadata:
name: nginx
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: NodePort
selector:
name: nginx
ports:
- port: 80
targetPort: 80
nodePort: 30001
Paste kedalam file nginx.yaml yang sudah kita buat lalu save and exit
Jalankan file konfigurasi yang sudah kita buat dengan perintah berikut:
kubectl create -f <namafilepod>.yaml
Jika sudah berhasil akan terbentuk seperti ini:
Jalankan kembali perintah untuk melihat pod untuk melihat hasilnya
kubectl get pod
Berikut hasil dari pembuatan 3 pod nginx baru terlihat dari terminal wsl
Container isi dari pod juga dapat dilihat dari docker dekstop
Untuk melihat apakah sudah benar-benar berjalan kita dapat membuka ip lokal dengan port yang sudah dikonfigurasikan yaitu 30001
Dengan begitu sudah berhasil membuat klaster kubernetes sederhana dengan docker dekstop