Deploy dan Monitoring Aplikasi berbasis Service Mesh (Istio)

Deploy dan Monitoring Aplikasi berbasis Service Mesh (Istio)

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.

[root@desktop ~]# oc new-project bookinfo

Yaml aplikasi dan konfigurasi service mesh yang dibutuhkan sudah di siapkan di git, berikut adalah tahap selanjutnya.

[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.

[root@desktop ~]# oc edit servicemeshmemberrolls.maistra.io default -n istio-system
...
...
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.

[root@desktop ~]# oc apply -f bookinfo.yaml
[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

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.

[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/

About the author
arisyi

Routecloud Networks

Information about Server, Linux and Computer Network.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Routecloud Networks.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.