プライベート・クラスターとパブリック・クラスターの両方にわたって Istio を使用する  

プライベート・クラスターとパブリック Kubernetes クラスター間でサービスを接続してハイブリッド・クラウドを構成する

By Yossi Mesika

Description

ハイブリッド・クラウドを最後まで進めることに決めたとしたら、さまざまなワークロードのすべてを管理するのは簡単ではないと覚悟していることでしょう。このパターンで取り上げるアプリは、Web フロントエンド、ストレージ用の Redis マスターとそのレプリカとして作成された一連の Redis スレーブ、そして Kubernetes のレプリケーション・コントローラー、ポッド、サービスで構成されています。 このサンプル・アプリケーションでは、ユーザーがコメントを送信すると Watson Tone Analyzer によってコメントの内容に応じた絵文字が追加されます。この目的を達成するため、私たちは各種のマイクロサービスが Kubernetes クラスター上でもプライベート・クラウド・クラスター上でも稼動するよう、マルチクラスターを構成しました。サンプル・アプリがリモートの Tone Analyzer サービスを呼び出すときは、クラスター間の通信を確立します。Tone Analyzer サービス自体は、クラウドから Watson Tone Analyzer サービスを呼び出します。

Overview

このパターンでは、IBM Cloud Private と IBM Cloud Kubernetes Service (IKS) クラスターとの間で Istio を使ってサービスを接続することで、ハイブリッド・クラウドを作成します。IBM Cloud Private に組織ネットワークの外部からアクセスすることはできませんが、IBM Cloud Private は IKS クラスターにアクセスできるということを前提としてあります。したがって、IBM Cloud Private クラスターから VPN トンネルを起動すれば、IBM Cloud Private 上で稼動するサービスと IKS 上で稼動するサービスとの間に VPN トンネル経由の双方向通信をセットアップできます。

このパターンで使用するサンプル・アプリケーションには Watson Tone Analyzer を利用するために IBM Cloud が必要ですが、ここで紹介する次のようなパターンは、プライベート・クラスターとパブリック・クラスターを統合するシナリオのほとんどで使用できます。

  • VPN トンネルを使用してプライベート・クラウドとパブリック・クラウドを接続する
  • プライベート・クラスターとパブリック・クラスターの間でマイクロサービスを分散させながらも、マイクロサービス間の双方向接続を維持する
  • Istio を使用して、マルチクラスターのトラフィックをルーティングする

Flow

  1. guestbook アプリのユーザーがブラウザーを使用して、guestbook サービスが提供する Guestbook Web ページにパブリック・クラウドからアクセスします。
  2. ゲストがコメントを送信した場合、guestbook サービスは送信されたテキストのトーンに基づく感情アイコンで、そのコメントをエンリッチする必要があります。したがって、guestbook サービスはトーンを分析するために analyzer サービスを呼び出し、送信されたテキストを渡します。guestbook サービスは、それがローカル・サービスであるかのように analyzer サービスを呼び出します (サービス/アプリはリモート・サービスをサポートするように変更されていません)。
  3. analyzer サービスはリモートのプライベート・クラウド上で稼動しているため、呼び出しが Istio によって VPN トンネル経由でプライベート・クラウドの Ingress ゲートウェイにルーティングされます。
  4. analyzer サービスが Watson Tone Analyzer サービスを呼び出し、受信したテキスト・ペイロードを渡します。これにより、パブリック・サービスからトーンの分析結果が返されます。
  5. analyzer サービスからのレスポンスが到着すると、guestbook アプリは送信されたテキストと一致する感情アイコンを Web ページ内のコメントに追加します。

Instructions

このパターンに取り組む準備はできましたか?このアプリケーションを起動して使用する方法について詳しくは、README ファイルを参照してください。

Related Blogs

Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

皆さん、こんにちは。IBM デベロッパーアドボケイト戸倉彩です。 グローバルハッカソンは目標をもって仲間と一緒 […]

続けて読む Call for Code 2019 応募に向けて個別オンライン相談会の予約受付開始

Related Links

IBM Cloud Kubernetes Service

Manage highly available apps inside Docker containers and IBM Cloud Kubernetes Service clusters on the IBM Cloud.

IBM Cloud Private

Learn how to lead a cloud transformation and innovate in a multicloud world with IBM Cloud Private and container technology.

IBM Cloud Direct Link

IBM Cloud Direct Link is a suite of four offerings from the IBM Cloud Network, with availability in locations around the globe.

Istio

Connect, secure, control, and observe services.