デフォルトでは、メッシュ内の各サイドカープロキシは、データプレーン上のすべてのサービスに関する完全な構成情報を受け取ります。これにより、各プロキシのメモリ使用量が増加するだけでなく、コントロールプレーンやデータプレーンが変更されるたびに、ワークロードが呼び出すことのないサービスに対しても、コントロールプレーンから不要なプッシュが生成されてしまいます。
Service Mesh (ASM) は、サイドカープロキシによって生成されたアクセスログを分析し、各ワークロードが実際にどのサービスを呼び出しているかを検出することで、この問題を解決します。その後、ASM は各ワークロードに対してスコープを限定した Sidecar リソースを推奨します。スコープを限定したサイドカーを適用すると、以下のようになります。
プロキシは、ワークロードが依存するサービスの構成のみを保持します。
コントロールプレーンは、関連のないサービスやその関連リソース (仮想サービスなど) が変更された際の更新プッシュをスキップします。
前提条件
開始する前に、以下の準備が整っていることを確認してください。
ASM インスタンス。 「ASM インスタンスを作成する」をご参照ください。
Container Service for Kubernetes (ACK) マネージドクラスター。「ACK マネージドクラスターの作成」をご参照ください。
ASM インスタンスに追加された ACK クラスター。詳細については、「ASM インスタンスにクラスターを追加する」をご参照ください。
イングレスゲートウェイがデプロイされています。「イングレスゲートウェイを作成する」をご参照ください。
ASM インスタンスにデプロイされたアプリケーションです。「ASM インスタンスにアプリケーションをデプロイする」を参照してください。
データプレーンのアクセスログを収集するように Log Service が設定されています。詳細については、「Log Service を使用してデータプレーンのアクセスログを収集する」をご参照ください。
注意事項
| 注 | 詳細 |
|---|---|
| Log Service プロジェクトの選択 | アクセスログ収集を有効にする際に、Log Service プロジェクトで [デフォルトを使用] を選択した場合、ASM は ASM インスタンスに最初に追加されたクラスターの Log Service プロジェクトを使用して推奨を生成します。 |
| ワークロードごとのスコープ | 推奨はワークロードごとに生成されます。これにより、データプレーンのサイドカー構成が最大限に簡素化されます。各ワークロードを個別に設定してください。 |
| 不完全な呼び出しデータ | アクセスログにワークロードの呼び出しレコードがない場合、推奨されるサイドカーが不正確になる可能性があります。適用する前に手動で検証してください。 |
ステップ 1: アクセスログの生成
ブラウザを開き、http://{イングレスゲートウェイサービスの IP アドレス}/productpage にアクセスします。Bookinfo アプリケーションのページを、星評価が黒と赤で交互に表示されるまで数回更新します。これにより、ASM がサービスの依存関係を分析するために使用するアクセスログデータが生成されます。
ステップ 2: サイドカーの推奨事項の生成と適用
ASM コンソールにログインします。
左側ナビゲーションウィンドウで、Service Mesh > Mesh 管理 を選択します。
[メッシュ管理] ページで、対象の ASM インスタンス名をクリックします。
インスタンスの左側のナビゲーションウィンドウで、[メッシュ最適化センター] > [インバウンド/アウトバウンドトラフィック設定 (Sidecar オブジェクト)] を選択します。
対象のワークロードを見つけ、[操作] 列の [推奨] をクリックします。[推奨ステータス] 列に [推奨完了] と表示されるまで待ちます。
[表示] を [操作] 列でクリックし、「推奨サイドカー」パネルを開きます。
[推奨 Sidecar] パネルで、Sidecar YAML の hosts フィールドに、ワークロードが呼び出す全てのサービスが含まれていることを確認します。必要なサービスが hosts にない場合は、次に進む前に YAML に追加してください。
[OK] をクリックして、サイドカー構成を適用します。
(オプション) 依存関係の変更後の再推奨
アプリケーションの進化に伴い、サービスの依存関係が変化し、以前に推奨されたサイドカーが実際の呼び出しパターンを反映しなくなることがあります。サイドカーの推奨を更新するには、新しいアクセスログを収集し、新しい推奨を生成します。
ASM コンソールにログインします。
左側のナビゲーションウィンドウで、[Service Mesh] > [メッシュ管理] を選択します。
対象の ASM インスタンス名をクリックし、[メッシュ最適化センター] > [インバウンド/アウトバウンドトラフィック設定 (Sidecar オブジェクト)] を選択します。
対象のワークロードを見つけ、[操作] 列の [アクセスログの再収集] をクリックします。
[アクセスログの再収集] メッセージで、[OK] をクリックします。既存のサイドカーが削除され、[推奨ステータス] 列が [アクセスログの再収集] に変わります。
ステップ 1 を繰り返して、新しいアクセスログを生成します。
ステップ 2 を繰り返して、新しい推奨を生成します。