Deploy Aplikasi Golang ke Openshift 4
Intro
Jika sebelumnya kita sudah melakukan deployment ke Openshift dengan bahasa pemrograman Java, maka sekarang kita coba deploy aplikasi Golang yang sangat sederhana untuk melihat bagaimana mudahnya deployment aplikasi ke Openshift.
Versi Openshift yang kita gunakan untuk tutorial ini adalah Openshift 4.4
How To
Pertama, kita buat sebuah aplikasi hello world sederhana dengan Golang,
Dan sebuah Dockerfile, dengan feature multi-stage build untuk meminimalisir size dari image hasil build.
Untuk men-deploy ke Openshift kita membutuhkan BuildConfig dengan strategy build docker, dan bisa dibuat dengan command dibawah ini,
oc new-build --name=hello-golang --strategy=docker --code=.
Kita build aplikasinya,
oc start-build hello-golang --from-dir=. --wait
Kemudian deploy,
oc new-app hello-golang --name=hello-golang
Hasilnya akan terlihat pod Golang baru yang ter-create,
Dan bisa kita test dengan curl command sederhana,
Code lengkapnya bisa di-unduh dari linkGithub dibawah ini,
https://github.com/edwin/golang-rest-hello-world
Summary
Di tutorial ini ditampilkan bagaimana caranya melakukan multi-stage docker build untuk Golang project, diatas Openshift 4.4 (Kubernetes v1.17.1). Dan bagaimana deployment bisa dengan mudah sekali dilakukan hanya dengan 3 command sederhana.
Have fun with Openshift :)
Afterthought
(ID) Multi-stage build dengan UBI base image lebih di rekomendasi-kan dibandingkan menggunakan Alpine dari sisi supportability dan security.
(EN) Multi-stage build with UBI base image is recommended compared to Alpine due to supportability and security.
https://www.redhat.com/en/blog/introducing-red-hat-universal-base-image