サイドカー プロキシの挿入

Anthos Service Mesh は、サイドカー プロキシを使用してネットワークのセキュリティ、信頼性、オブザーバビリティを強化します。Anthos Service Mesh では、これらの機能がアプリケーションのプライマリ コンテナから抽出され、同じ Pod 内の個別のコンテナとして提供される共通のプロセス外プロキシに実装されます。ワークロードのデプロイまたは再デプロイを行うときに、Anthos Service Mesh の機能を最大限に活用するには、ワークロードの Pod にサイドカー プロキシを挿入します。プロキシは、ワークロードのすべての受信トラフィックと送信トラフィックを傍受し、Anthos Service Mesh と通信します。

自動サイドカー インジェクションを有効にする

Pod の Kubernetes 構成を更新することで、サイドカー プロキシを手動で挿入することも、Webhook ベースの自動サイドカー インジェクションを使用することもできます。デフォルトでは、サイドカーの自動インジェクションはすべての名前空間で無効になっています。自動インジェクションを有効にするには:

kubectl label namespace NAMESPACE istio-injection=enabled --overwrite

ここで、NAMESPACE はアプリケーションのサービスの名前空間の名前です。名前空間を明示的に作成していない場合は default です。

サイドカーは Pod の作成時に挿入されるため、変更を反映するには実行中の Pod を再起動する必要があります。

手動サイドカー インジェクション

サイドカーを手動で挿入するには、サイドカーのインストールをご覧ください。

既存の Pod のサイドカーの更新

自動サイドカー インジェクションでは、Pod の再起動で既存の Pod のサイドカーを更新できます。

Pod を再起動する方法は、Pod が Deployment の一部として作成されたかどうかによって異なります。

  1. Deployment を使用した場合は、サイドカー付きのすべての Pod を再起動する Deployment を再起動します。

    kubectl rollout restart deployment
    

    Deployment を使用していない場合、Pod を削除すると、自動的にサイドカー付きで再作成されます。

    kubectl delete pod -n YOUR_NAMESPACE --all
  2. 名前空間内のすべての Pod にサイドカーが挿入されたことを確認します。

    kubectl get pod -n YOUR_NAMESPACE --all

    次に前のコマンドの出力例を示します。ここで、READY 列はワークロードごとに 2 つのコンテナ(プライマリ コンテナとサイドカー プロキシのコンテナ)があることを示しています。

    NAME                    READY   STATUS    RESTARTS   AGE
    YOUR_WORKLOAD           2/2     Running   0          20s
    ...
    

次のステップ

以下の詳細を確認する