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
Hasil build log

Kemudian deploy,

oc new-app hello-golang --name=hello-golang

Hasilnya akan terlihat pod Golang baru yang ter-create,

Hasil Deploy

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

--

--

Muhammad Edwin
Development using RedHat Product. (This is an Unofficial Blog)

A RedHatter and Digital Nomad, with Jeans, Sneakers, Laptop and Coffees, anytime — anywhere.