Red Hat OpenShift Service Mesh adalah Tools Service Mesh berbasiskan maistra.io untuk memudahkan user dalam melakukan manajemen network dan interaksi antar microservice.
Berikut adalah manfaat yang dapat di lakukan oleh OpenShift Service Mesh:
- monitoring
- manajemen traffic
- security
Pada tutorial kali ini kita akan bekerja dengan menggunakan Operator yang tersedia di OpenShift4. Berikut adalah komponen yang perlu di install di openshift operator.
- Red Hat OpenShift Service Mesh
- Kiali Operator
- Red Hat OpenShift Jaeger
- Elasticsearch Operator
Berikut adalah detail nama operator dan versi yang telah terinstall.
1 2 3 4 5 6 |
[root@helper ~]# oc get csv NAME DISPLAY VERSION REPLACES PHASE elasticsearch-operator.4.3.37-202009151447.p0 Elasticsearch Operator 4.3.37-202009151447.p0 Succeeded jaeger-operator.v1.17.6 Red Hat OpenShift Jaeger 1.17.6 Succeeded kiali-operator.v1.12.15 Kiali Operator 1.12.15 kiali-operator.v1.12.14 Succeeded servicemeshoperator.v1.1.9 Red Hat OpenShift Service Mesh 1.1.9 servicemeshoperator.v1.1.8 Succeeded |
Pastikan PHASE operator yg terinstall sudah berstatus Succeeded.
Berikut adalah tahap-tahap yang perlu dilakukan untuk menjalankan instalasinya :
Buatlah sebuah project untuk menampung pods engine istio. Biasanya project tersebut diberi nama istio-system.
1 |
[root@helper ~]# oc new-project istio-system |
Arahkan console ke menu Installed Operators lalu klik pada operator Red Hat OpenShift Service Mesh.
Merah : Pastikan project berada di istio-system
Hijau : Komponen yang akan digunakan
Istio Service Mesh Control Plane (SMCP) komponen yang akan mengelola engine Service Mesh, pada case ini adalah Istio Engine, Elasticsearch, Grafana, Prometheus, Kiali, dan Jaeger.
Istio Service Mesh Member Rol (SMMR) komponen untuk menetapkan Project mana saja yang akan terhubung dengan engine Service Mesh.
Klik (+) Create Instance pada Istio Service Mesh Control Plane => Klik Tombol Create
Pada yaml ini kita akan menaikkan instance istio beserta dengan kiali, grafana dan jaeger.
atau dengan menggunakan command line.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
[root@helper ~]# cat smcp.yaml apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane metadata: name: basic-install namespace: istio-system spec: version: v1.1 istio: gateways: istio-egressgateway: autoscaleEnabled: false istio-ingressgateway: autoscaleEnabled: false ior_enabled: false mixer: policy: autoscaleEnabled: false telemetry: autoscaleEnabled: false pilot: autoscaleEnabled: false traceSampling: 100 kiali: enabled: true grafana: enabled: true tracing: enabled: true jaeger: template: all-in-one |
1 |
[root@helper ~]# oc apply -f smcp.yaml |
1 2 3 |
[root@helper ~]# oc get smcp -n istio-system NAME READY STATUS TEMPLATE VERSION AGE basic-install 9/9 InstallSuccessful default v1.1 28h |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@desktop ~]# oc get pods -n istio-system grafana-55d5d68c7c-9fn66 2/2 Running 0 1m istio-citadel-5bfd6c5d9d-nq6z4 1/1 Running 0 1m istio-egressgateway-7cd9c46b4d-l7c58 1/1 Running 0 1m istio-galley-569cdcfb68-bk9ww 1/1 Running 0 1m istio-ingressgateway-bff89bb7b-xt9tk 1/1 Running 0 1m istio-pilot-58c896c5f6-rf66w 2/2 Running 0 1m istio-policy-7f9f4ddf8d-7d4nw 2/2 Running 0 1m istio-sidecar-injector-d8758fb7-h5kc2 1/1 Running 0 1m istio-telemetry-86d4df7dcc-h2zsh 2/2 Running 0 1m jaeger-57d66f77b4-hbc5p 2/2 Running 0 1m kiali-6f9dd6f76b-xhnwk 1/1 Running 0 1m prometheus-6cd48546cb-s52q7 2/2 Running 0 1m |
Klik (+) Create Instance pada Istio Service Mesh Member Roll => Klik Tombol Create.
Pada yaml ini kita akan melakukan list project yang akan di masukkan menjadi member serivice mesh, masukkan nama-nama project yang akan dijadikan member service mesh pada list members yang tersedia pada yaml.
atau dengan menggunakan command line.
1 2 3 4 5 6 7 8 9 10 |
[root@helper ~]# cat smmr.yaml apiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default namespace: istio-system spec: members: - frontend-project - backend-projects |
1 |
[root@helper ~]# oc apply -f smmr.yaml |
1 2 3 |
[root@helper ~]# oc get smmr -n istio-system NAME READY STATUS AGE default 1/1 Configured 1m |
Sampai sini engine Red Hat OpenShift Service Mesh sudah terinstall beserta dengan grafana, prometheus, jaeger dan kiali.
Berikut adalah console UI yang dapat digunakan untuk operasional service mesh.
1 2 3 4 5 6 7 |
[root@helper ~]# oc get route -n istio-system NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD grafana grafana-istio-system.apps.example.com grafana <all> reencrypt None istio-ingressgateway istio-ingressgateway-istio-system.apps.example.com istio-ingressgateway 8080 None jaeger jaeger-istio-system.apps.example.com jaeger-query <all> reencrypt None kiali kiali-istio-system.apps.ocpsb.example.com kiali <all> reencrypt/Redirect None prometheus prometheus-istio-system.apps.example.com prometheus <all> reencrypt None |
- grafana-istio-system.apps.example.com
- jaeger-istio-system.apps.example.com
- kiali-istio-system.apps.ocpsb.example.com
- prometheus-istio-system.apps.example.com
- istio-ingressgateway-istio-system.apps.example.com
Link ini digunakan untuk melakukan expose aplikasi, setiap pods aplikasi yang di list pada SMMR dapat di tampilkan menggunakan link ini.
Untuk percobaan menaikkan aplikasi dummy dengan menggunakan Red Hat OpenShift Service Mesh/istio akan di bahas di post selanjutnya. Klik Disini
Sekian, Semoga Bermanfaat.
Komentar