Instalasi Red Hat OpenShift Service Mesh (Istio) pada platform OpenShift4

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.

  1. Red Hat OpenShift Service Mesh
  2. Kiali Operator
  3. Red Hat OpenShift Jaeger
  4. Elasticsearch Operator

Berikut adalah detail nama operator dan versi yang telah terinstall.

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

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

[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
[root@helper ~]# oc apply -f smcp.yaml
[root@helper ~]# oc get smcp -n istio-system
NAME READY STATUS TEMPLATE VERSION AGE
basic-install 9/9 InstallSuccessful default v1.1 28h
[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.

[root@helper ~]# cat smmr.yaml
apiVersion: maistra.io/v1
kind: ServiceMeshMemberRoll
metadata:
  name: default
  namespace: istio-system
spec:
  members:
    - frontend-project
    - backend-projects

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

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

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.