OpenShift Service Meshをインストールする方法

  • OpenShift Service Meshとは
  • OpenShift Service Meshのコンポーネント
  • OpenShift Service Meshをインストールする

OpenShift Service Meshとは


OpenShift ServiceMeshとは、OpenShift上で稼働するマイクロアプリケーションのMesh層を接続・管理・監視するためのOpenShiftサービスです。Istioとの違いなど、OpenShift Service Meshを使うメリットは以下のURLで紹介されています。

OpenShift Service Meshを選ぶ理由

OpenShift Service Meshのコンポーネント


OpenShift Service Meshのコンポーネントは以下の通りです。必ずしも全てインストールする必要はなく、オプションで設定できます。

  • Istio・・・全体のトラフィックの管理
  • Kiali・・・トラフィックの可視化
  • Grafana・・・メトリクスの可視化
  • Jeager・・・分散トレースログの管理
  • Elasticsearch・・・分散トレースログの保管先(※Jeagerを利用する場合に、all-in-oneのインメモリ構成かElasticsearchを選択できます。)

特に注意すべき点はElasticsearchで、それなりに大きいリソースを必要としますし、永続ボリューム用のストレージが必要になります。企業では通常予算を決めてから構築しますので、予算からずれる可能性があります。

Elasticsearchの要件は、こちらをご参照ください。

OpenShift Service Meshをインストールする


GUIのOperator HubからIstioだけインストールします。

1.「OperatorHub」タブから「ServiceMesh」を検索する

2.「Install」ボタンをクリックする

3. オプションを選択する

  • Installation Mode・・・プロジェクトが利用可能な範囲を選択します。
  • Update Channel・・・インストールする対象バージョンを選択します。GA済みの安定したバージョンかTech Previewのバージョンかどうか選択することができます。
  • Approval Strategy・・・Operatorのアップデートを自動か手動で選択できます。

4. 「Installed Operators」タブからServiceMeshのStatusが「Succeeded」であることを確認し、「Istio Service Mesh Controll Plane」をクリックする

インストールが完了するとOperator Podが作成されています。

$ oc get pods -n openshift-operators
NAME READY STATUS RESTARTS AGE
istio-operator-745ffbbcbb-wrhgq 1/1 Running 0 4m36s

5. 「Create ServiceMeshControllPlane」をクリックする

6. `spec.kiali.enabled`、`spec.grafana.enabled`、`spec.tracing.enabled`をtrue→falseに変更する

7. `metadata.namespace`を作成したproject名に変更し、「Create」ボタンをクリックする

以下のコマンドでOpenShift Service Meshをデプロイするプロジェクトを作成します。

$ oc new-project istio-system

作成したプロジェクトをmetadata.namespaceに指定します。

これでインストールが完了しました。IstioのPodがデプロイされていることがわかります。

$ oc get pods -n istio-system
NAME                                     READY     STATUS    RESTARTS   AGE
istio-citadel-5b66678f8-g847h            1/1       Running   0          2m8s
istio-egressgateway-58b5ccd6b7-7flg8     1/1       Running   0          50s
istio-galley-7dddcfffd8-5ssnn            1/1       Running   0          102s
istio-ingressgateway-6b6d8d747-8cdxs     1/1       Running   0          50s
istio-pilot-c77d8b5dd-nlh4f              2/2       Running   0          64s
istio-policy-57845f5d-shhsm              2/2       Running   0          88s
istio-sidecar-injector-64c496848-dh75r   1/1       Running   0          45s
istio-telemetry-656d4d654f-m2cpq         2/2       Running   0          88s
prometheus-5467bd8998-lph9v              2/2       Running   0          119s

以上です。