プライベート・クラスターとパブリック・クラスターの両方にわたって 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 準優勝者: AI を使用して改造の可能性を判断する PD3R

ネパールでエンジニアとして働く Nirmal Adhikari は、地震がもたらす惨状をじかに目にしました。彼はまた、被害状況を評価したくても、なかなかコミュニティーにアクセスできないフラストレーションも実感しました。 「バスや交通機関で現地に辿り着くことはできませんでした。アクセスが禁止されていたためです。大勢のエンジニアを配置しなければならなかったのですが、それには相当な時間がかかりました」。2015 年のネパール大地震を振り返り、Adhikari はこのように言いました。「このことが理由で、私たちは多くの人手を要することなく迅速に作業を行えるよう、何か対策を取らなければならないと思ったのです」。 Adhikari と、Build Change で働く彼の同僚たち (Lakshyana K.C.、Nicolas Ortiz、Shreyasha Paudel、Kshitiz Rimal) は、人工知能によって検査を自動化し、地震で住む場所を追われた人々がすぐに自宅に戻れるようにできないかと考えました。 彼らがチームとして作り上げたのが、この Post-Disaster Rapid Response Retrofit (PD3R) です。3D モデル画像で学習した AI に基づくこのソリューションによって、自然災害後に住居を追われた家族がすぐに構造工学上のアドバイスを受けられるようになる可能性があります。PD3R は 2018 Call for Code Global Challenge で準優勝作品として選ばれ、25,000 米ドルの賞金と The Linux Foundation による長期のオープンソース・サポートを獲得しました。 「地震が発生すると、住居が全壊するか、部分的に損傷を受ける可能性があります」と、Ortiz は言います。「PD3R で目的としているのは、再建または補強することが可能な住居を、人工知能を使用して短時間で評価することです」。 Call for Code Global Award 祝賀会の録画を見る チームは Watson Studio を使用して、2,000 点を超える画像をベースにカスタムの視覚認識モデルを作成しました。IBM Watson...

続けて読む Call for Code 準優勝者: AI を使用して改造の可能性を判断する PD3R

Call for Code 優勝者: モバイル・ホットスポットとダッシュボードによって災害発生後のコミュニティーを支援

昨年メキシコ・シティーでマグニチュード 7.1 の地震が発生したとき、Subalekha Udayasakar はインターネットへの接続を失うと、いかに無力であるかを実感し、その混沌を目の当たりにしました。 「大勢の人々がインターネットに接続できなかったため、救助の手を差し伸べることができなかったのです」と、彼女は言います。「それに、被害に遭った人たちが実際にどのような状況に置かれているかについても、まったく見当がつきませんでした」。 この体験を機に、Subalekha と彼女のチームメイト (Jonah Model、Katie Mathews、Gandharv Patil、Matthew Malin) は災害への対応と復旧の最中に市民と救助隊がオンラインでつながり続ける方法を生み出しました。 ハードウェアとソフトウェアで編成された、この Project Lantern というソリューションは、2018 Call for Code Global Challenge で最優秀作品に選ばれました。Project Lantern が依存するのは、低価格のハードウェアとソーシャル・データ、そして入手した情報と状況の変化を反映したリアルタイムのデータです。 災害復旧時にオフラインになったワイヤレス・ネットワークで、鍵ほどの大きさの Lantern というデバイスがポップアップ通信ハブの役割を果たします。この Lantern デバイスでは、カスタマイズ可能な Web アプリを使用してニュースを受信し、救助とボランティアを要請するとともに、地図ツールによってユーザーを避難所と飲料水や燃料を入手できる場所まで誘導します。このように、Lantern は極めて急を要する状況でコミュニティーの秩序を維持するよう設計されています。 Call for Code チャレンジに向けて、チームは IBM Watson を利用してオフラインで収集されたデータを解釈し、その結果を救助隊用のダッシュボードとして提示することにしました。現地のボランティア、危険にさらされている人々、訓練された難民救済ワーカーの間のコラボレーションは、IRIS (Intelligent Routing and Insights の略語) によって支援します。 「IRIS の役目は、災害時のあらゆるデータに加え、IBM Watson の機械学習機能、The Weather Channel からのデータ、そして公開されているその他すべての API...

続けて読む Call for Code 優勝者: モバイル・ホットスポットとダッシュボードによって災害発生後のコミュニティーを支援

Call for Code 優勝者: 緊急支援ネットワークで中断のない銀行サービスを実現

史上最大の地震の 1 つとして数えられる 2008 年の四川大地震が発生したとき、中国農業銀行 (ABC) は被災者たちに緊急支援と金融サービスを提供しようと試みました。 けれども、銀行カードや写真付き ID を失くすなどといった、いくつかの泣き所が災害によって生み出され、同行は思うように顧客にサービスを提供できませんでした。 「この 10 年の間、世界中で多くの自然災害が発生しています」。ABC 研究開発センターで副総支配人を務める Wang Yi の言葉です。「私たちは被災者への金融サービスを改善することを目指しています」。 こうしたサービスの改善を目的に、ABC の開発者たちは Call for Code の呼びかけに応じ、United Aid Net (UAN) を作成しました。UAN は、自然災害の発生時も復旧時も中断することなく金融サービスを提供するためのグローバル緊急支援ネットワークです。顔認識に基づく預金引き出しとブロックチェーンを基に構築されている UAN は、災害時に家族や友人との間で一時的に金融サービスを共有することを可能にします。 仕組み このソリューションを開発したのは、北京を拠点とするチーム Green Coder です。Dong Xiaojie、Liu Xu、Liu Bo、Huang Zhiming、Liu Jiajie からなるチームが開発したこのソリューションは、2018 Call for Code Global Challenge で最優秀作品に選ばれました。 「UAN は、金融機関ネットワークと家族ネットワークという 2 つのネットワークで構成されています」。ABC でアプリケーション・プラットフォーム開発ネットワークの副総支配人を担当する Xiaojie は、このように言っています。「現在、私は UAN...

続けて読む Call for Code 優勝者: 緊急支援ネットワークで中断のない銀行サービスを実現

Related Links

IBM Cloud Kubernetes Service

IBM Cloud 上の IBM Cloud Kubernetes クラスターに含まれる Docker コンテナー内でアプリの高可用性を維持できます。

IBM Cloud Private

IBM Cloud Private とコンテナー・テクノロジーによって、クラウド化を推進し、マルチクラウドの世界でイノベーションを生み出す方法を学んでください。

IBM Cloud Direct Link

IBM Cloud Direct Link は、IBM Cloud ネットワークの 4 つのオファリングから成るスイートで、世界中のあらゆる場所で使用できます。

Watson Tone Analyzer

このサービスを利用することで、テキストに反映された感情とコミュニケーション・スタイルを理解できます。

strongSwan

IPsec ベースのオープンソース VPN ソリューションです。

Istio

サービスを接続、保護、制御、観察するためのツールです。

Deploy a cloud-native microservices application on IBM Cloud Private

IBM Cloud Private プラットフォーム上にクラウド・ネイティブのマイクロサービス・アプリをインストールして、Kubernetes 上で実行する方法を説明しているチュートリアルです。

Single Service Mesh with Istio Against Multiple Hybrid Clusters

このブログ投稿で、Istio をマルチクラスターの中央制御プレーンとして使用する方法を説明しています。

Connecting private and public clusters with Istio

マルチクラスター環境内で Istio を使用することで、クラスター間でサービスを共有できます。