Service Mesh (ASM) では、アプリケーションのトポロジを表示できます。このトピックでは、ASMインスタンストポロジでのゾーン認識ルーティング機能の効果を確認する方法について説明します。イングレスゲートウェイを使用したBookinfoアプリケーションへのアクセスを例として使用します。
前提条件
ASMインスタンスが作成されていること。詳細については、「ASMインスタンスの作成」をご参照ください。
ACKマネージドクラスターが作成されていること。詳細については、「ACKマネージドクラスターの作成」をご参照ください。
クラスターがASMインスタンスに追加されていること。詳細については、「ASMインスタンスへのクラスターの追加」をご参照ください。
ACKクラスター内のノードが少なくとも 2 つのゾーンに存在していること。このトピックでは cn-hangzhou-j ゾーンと cn-hangzhou-k ゾーンを使用します。クラスターノードに対応するECSインスタンスが存在するリージョンとゾーンは、ACKコンソールで確認できます。詳細については、「リージョンとゾーン」をご参照ください。
イングレスゲートウェイがデプロイされていること。ASMインスタンストポロジを表示できること。詳細については、「はじめに」をご参照ください。
Helm 3 クライアントがインストールされていること。詳細については、「Helm」をご参照ください。
手順 1:サンプルアプリケーションをデプロイする
サンプルアプリケーションをデプロイするために使用する Helmインストールパッケージ をダウンロードします。
パッケージを解凍し、解凍後に取得したフォルダー内の asm-az-routing ディレクトリを開きます。values.yaml ファイルで、アプリケーションをデプロイするゾーンを指定します。
この例では、次のゾーン設定を使用します。
zone1: cn-hangzhou-j zone2: cn-hangzhou-k
次のコマンドを実行して、サンプルアプリケーションをデプロイします。
helm install --namespace azdemo azdemo ./
アプリケーション Pod が正常に実行されたら、次のコマンドを実行して、イングレスゲートウェイを使用してサービスにアクセスします。
while true; do curl -I http://{IP address of the ingress gateway}/productpage ; echo;sleep 1; done
手順 2:メッシュトポロジにログインし、ASMインスタンストポロジを表示する
ASMコンソール にログインします。左側のナビゲーションペインで、 を選択します。
[メッシュ管理] ページで、ASMインスタンスの名前をクリックします。左側のナビゲーションペインで、 を選択します。
[メッシュトポロジ] ページで、[トークンをコピーして新しいウィンドウで開く] をクリックします。
メッシュトポロジのログインページで、トークンを入力し、[ログイン] をクリックします。
ASMインスタンスの名前空間を選択し、トラフィック分散トラフィック レートトラフィックアニメーション[表示] ドロップダウンリストから サービスノード、、 を選択し、 の選択を解除します。
次の図は、トポロジの例を示しています。
手順 3:トポロジを観察して、ゾーン間の自動ルート切り替えを確認する
最初のゾーンにデプロイされている reviews-v1 の Pod 数をゼロに減らします。これにより、サービスは利用できなくなります。
ACKコンソール にログインします。左側のナビゲーションペインで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のペインで、 を選択します。
デプロイメントを見つけ、[スケール] を [アクション] 列でクリックし、[必要な Pod 数] を 0 に設定して、[OK] をクリックします。
手順 2:メッシュトポロジにログインし、ASMインスタンストポロジを表示する でログインしたトポロジページに戻ります。
次の図は、トポロジの例を示しています。
トポロジは、productpage v1 が reviews-v2 を指していることを示しています。この変更は、同じゾーン内の reviews サービスが利用できなくなった場合、リクエストが別のゾーン内の reviews サービスに自動的にルーティングされることを示しています。
手順 4:トポロジを観察して、ゾーン認識ルーティング機能を確認する
最初のゾーンにデプロイされている reviews-v1 の Pod 数を 1 に増やします。これにより、サービスが利用可能になります。
ACKコンソール にログインします。左側のナビゲーションペインで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターを見つけ、その名前をクリックします。左側のペインで、 を選択します。
デプロイメントを検索し、[スケーリング] を [アクション] 列でクリックし、[必要な Pod 数] を 1 に設定して、[OK] をクリックします。
手順 2:メッシュトポロジにログインし、ASMインスタンストポロジを表示する でログインしたトポロジページに戻ります。
次の図は、トポロジの例を示しています。
トポロジは、productpage v1 が同じゾーンにデプロイされている reviews-v1 を指していることを示しています。この結果は、ゾーン認識ルーティング機能が有効になっていることを示しています。