Deploy MySql Database ke Openshift 4.4 Dengan Helm 3
Intro
Menurut web-nya (https://helm.sh/), Helm adalah sebuah “package manager for Kubernetes” dimana fungsi tools ini adalah untuk memudahkan kita melakukan installasi aplikasi di Kubernetes. Analogi sederhana-nya adalah seperti menggunakan package manager untuk linux seperti “yum” atau “apt”.
Instalasi Helm
Saya menggunakan Red Hat Enterprise Linux release 8.2, dan melakukan instalasi menggunakan script installasi yang sudah disediakan oleh Helm 3.
> curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3> chmod 700 get_helm.sh> ./get_helm.sh
Gunakan perintah dibawah untuk melakukan validasi apakah Helm sudah terinstall dengan baik atau belum,
> helm version
Contoh dibawah menunjukkan installasi Helm saya sukses dan menggunakan Helm versi 3.2.4
version.BuildInfo{Version:"v3.2.4", GitCommit:"0ad800ef43d3b826f31a5ad8dfbb4fe05d143688", GitTreeState:"clean", GoVersion:"go1.13.12"}
Install MySql ke Openshift 4
Pertama, pastikan dulu bahwa kita sudah login ke Openshift. Apabila belum login, kita bisa mengunakan oc command untuk login.
> oc login --server=https://api.edwin-cluster.server:6443
Buat project baru
> oc new-project mysql
Setelah berhasil login ke Openshift, selanjutnya kita akan coba melakukan installasi MySql menggunakan Helm. Pertama yang harus dilakukan adalah register repo untuk Helm,
> helm repo add stable https://kubernetes-charts.storage.googleapis.com/
Cari repo yang diinginkan,
> helm search repo stable | grep mysql
Untuk contoh dibawah, saya install menggunakan repo stable dari MySql dan dengan nama yang random.
> helm install https://hub.helm.sh/charts/bitnami/mysql --generate-name
Hasilnya bisa dilihat di Openshift cluster kita, dengan menggunakan oc command biasa.
> oc get pods -n mysql
Untuk Openshift 4.4, daftar aplikasi apa saja yang sudah di-install menggunakan Helm bisa dilihat di developer console-nya Openshift.
Summary
Sekilas, deployment menggunakan Helm mirip-mirip dengan deployment menggunakan Openshift Template (https://docs.openshift.com/container-platform/4.4/openshift_images/using-templates.html), namun ada satu kelebihan dari Helm yaitu Helm bisa dijalankan ke berbagai macam versi kubernetes distribution.