Melanjutkan posting sebelumnya Instalasi Red Hat OpenShift Service Mesh (Istio) pada platform OpenShift4 pada artikel ini akan membahas deploy aplikasi dummy bernama Bookinfo yang telah di sediakan oleh tools Istio sendiri untuk di naikkan diatas OpenShift dan dilakukan monitoring pada console Kiali Dashboard dan kita dapat melakukan tracing aplikasinya melalui Jaeger Dashboard.
Setiap POD yang akan di sinkronisasikan dengan istio perlu ditanamkan container sidecar yang berperan sebagai proxy dari engine service mesh.
jadi ketika kita membuat sebuah POD untuk menaikkan aplikasi nantinya kita perlu melakukan patch terhadap Deployment Config yang kita miliki agar container proxy dapat tertanam di dalam POD nya.
Berikut adalah step by step untuk melakukan deploy dengan OpenShift Service Mesh (Istio).
Pada percobaan kali ini kita siapkan 1 project bernama bookinfo yang akan digunakan untuk menyimpan aplikasi bookinfo.
1 |
[root@desktop ~]# oc new-project bookinfo |
Yaml aplikasi dan konfigurasi service mesh yang dibutuhkan sudah di siapkan di git, berikut adalah tahap selanjutnya.
1 2 |
[root@desktop ~]# git clone https://github.com/pieterdauds/maistra.io-bookinfo.git [root@desktop ~]# cd maistra.io-bookinfo/ |
Sebelum melakukan deploy, tambahkan terlebih dahulu project bookinfo ke dalam service mesh group. Berikut adalah tahap yang perlu dilakukan.
1 |
[root@desktop ~]# oc edit servicemeshmemberrolls.maistra.io default -n istio-system |
1 2 3 4 5 6 7 8 |
... ... spec: members: - bookinfo status: ... ... |
tambahkan nama project yang akan di joinkan pada member service mesh di bagian spec => members .
Jika sudah selesai maka selanjutnya deploy aplikasi template yang sudah di sediakan.
1 |
[root@desktop ~]# oc apply -f bookinfo.yaml |
1 2 3 4 5 6 7 8 |
[root@desktop ~]# oc get pods -n bookinfo NAME READY STATUS RESTARTS AGE details-v1-7f94dd6cc5-4dh8n 2/2 Running 0 3h productpage-v1-75877fb77-bbkl4 2/2 Running 0 4h ratings-v1-5b848c9bdc-98skf 2/2 Running 0 3h reviews-v1-fcbd5864b-xfkpf 2/2 Running 0 3h reviews-v2-7b5f7f9b7d-drh2v 2/2 Running 0 3h reviews-v3-797bc9b798-x9jr4 2/2 Running 0 3h |
Tampilan pada Kiali Dashboard.
pada aplikasi ini sudah terdapat labeling untuk menempelkan container istio proxy pada pods. Jika kamu ingin melakukan nya secara manual Berikut adalah caranya :
Pada Deployment / Deployment Config
123456789 spec:......template:metadata:annotations:sidecar.istio.io/inject: "true"......
Tambahkan destination rule untuk memberikan akses kepada versi aplikasi yang di izinkan untuk di akses user.
1 |
[root@desktop ~]# oc apply -f destination-rule-all.yaml |
Sampai sini aplikasi sudah bisa di akses melalui istio-ingress-gateway. Istio ingress gateway dapat di lihat di bagian route pada project istio-system.
Sebagai contoh berikut adalah route istio ingress-gateway istio-ingressgateway-istio-system.apps.example.com
Halaman awal pada aplikasi ini adalah /productpage jadi link yang kita gunakan adalah istio-ingressgateway-istio-system.apps.example.com/productpage
Berikan beberapa transaksi / load agar tampilan service mesh pada aplikasi yang kita pasang dapat memonitoringnya melalui console Kiali.
- Topologi service mesh aplikasi bookinfo
- User melakukan akses ke service ratings v2
- User melakukan akses ke service ratings v3
Selain itu kita dapat melalukan tracing transaksi menggunakan Jaegger, berikut adalah contoh nya. Sebagai usecase kita coba melakukan tracing service ratings.
Isi form Service dan Operation lalu klik tombol Find Traces.
Berikut adalah hasilnya.
Semoga Bermanfaat.
Reff: https://maistra.io/docs/examples/bookinfo/
Komentar