Anthos Service Mesh 1.5 はサポート期間が終了し、今後はサポートされません。アップグレードの詳細については、以前のバージョンからのアップグレードをご覧ください。最新のドキュメントを表示するか、他のバージョンを選択します。

Anthos Service Mesh を新しいクラスタにインストールする

Anthos Service Mesh は、Google Kubernetes Engine(GKE)と Anthos clusters on VMware 上で実行されるサービスを接続、モニタリング、保護するための Istio 互換のフレームワークです。負荷分散、サービス間認証、モニタリングなどを使用して、デプロイされたサービスのネットワークを構築できます。サービスコードの変更は必要ありません。Anthos Service Mesh は、アプリケーションの各 Pod にサイドカー プロキシを自動的に挿入します。サイドカー プロキシは、Pod との間で送受信されるネットワーク トラフィックをすべて傍受します。Anthos Service Mesh は、メッシュへの受信トラフィックを管理するための Ingress ゲートウェイも構成します。オープンソースの Istio API を使用して、サイドカーとゲートウェイに適用されるポリシーを構成できます。

このガイドでは、Anthos Service Mesh のバージョン 1.5.10 を新しい Google Cloud GKE クラスタにインストールする方法について説明します。インストールすると、次の機能が有効になります。

このガイドでは、クラスタと同じ Google Cloud プロジェクトにある Environ にクラスタを登録する方法についても説明します。Environ でクラスタを整理することで、複数のクラスタの管理を簡単にできます。Environ にクラスタを登録することで、必要に応じてサービスやその他のインフラストラクチャをグループ化し、一貫したポリシーを適用できます。

始める前に

このガイドでは、次のものが用意されていることを前提としています。

インストールを開始する前に:

  • 環境を設定する。1.5.10-asm.2 以降は、インストールに kpt が必要です。
  • 次の要件と制限事項をご確認ください。

要件

  • Anthos の試用版ライセンスまたはサブスクリプションが必要です。詳細については、Anthos 料金ガイドをご覧ください。

  • GKE クラスタは次の要件を満たす必要があります。

  • サービス メッシュに含めるには、サービスポートに名前を付ける必要があります。名前には、name: protocol[-suffix] の構文でポートのプロトコルを含める必要があります。角かっこは、ダッシュで始まるオプションの接尾辞です。詳細については、サービスポートの命名をご覧ください。

  • Anthos Service Mesh を限定公開クラスタにインストールする場合で、自動サイドカー インジェクションを使用するには、ポート 15017 を開くファイアウォール ルールを追加する必要があります。ファイアウォール ルールを追加せず、自動サイドカー インジェクションを有効にすると、ワークロードのデプロイでエラーが発生します。ファイアウォール ルールの追加方法については、特定のユースケースに対するファイアウォール ルールの追加をご覧ください。

  • 組織にサービス境界を作成した場合は、Mesh CA サービスを境界に追加する必要があります。詳細については、サービス境界へのメッシュ CA の追加をご覧ください。

制限事項

1 つの Google Cloud プロジェクトにインストールできる Anthos Service Mesh は 1 つだけです。1 つのプロジェクトで複数のメッシュ デプロイはサポートされていません。

証明書データ

Mesh CA からの証明書には、アプリケーションのサービスに関する次のデータが含まれます。

  • Google Cloud プロジェクト ID。
  • GKE 名前空間
  • GKE サービス アカウント名

プロジェクトの設定

  1. クラスタが作成されるプロジェクトのプロジェクト ID を取得します。

    gcloud

    gcloud projects list

    Console

    1. Cloud Console で [ダッシュボード] ページに移動します。

      [ダッシュボード] ページに移動する

    2. ページ上部の [選択元] プルダウン リストをクリックします。表示された [選択元] ウィンドウで、プロジェクトを選択します。

      プロジェクト ID は、プロジェクト ダッシュボードの [プロジェクト情報] カードに表示されます。

  2. プロジェクト ID の環境変数を作成します。
    export PROJECT_ID=YOUR_PROJECT_ID
    
  3. gcloud コマンドライン ツールのデフォルトのプロジェクト ID を設定します。
    gcloud config set project ${PROJECT_ID}
  4. プロジェクト番号の環境変数を作成します。
    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")

  5. 必要な Identity and Access Management(IAM)のロールを設定します。プロジェクト オーナーの場合、インストールを完了し、クラスタを Environ に登録するために必要なすべての権限が付与されています。プロジェクト オーナーでない場合は、次の IAM ロールを付与する担当者が必要になります。次のコマンドで、GCP_EMAIL_ADDRESS を Google Cloud へのログインに使用するアカウントに変更します。
    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
         --member user:GCP_EMAIL_ADDRESS \
         --role=roles/editor \
         --role=roles/compute.admin \
         --role=roles/container.admin \
         --role=roles/resourcemanager.projectIamAdmin \
         --role=roles/iam.serviceAccountAdmin \
         --role=roles/iam.serviceAccountKeyAdmin \
         --role=roles/gkehub.admin

    IAM のロールを付与する方法については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。これらのロールの説明については、Anthos Service Mesh のインストールに必要な権限をご覧ください。

  6. 次の API を有効にします。
    gcloud services enable \
        container.googleapis.com \
        compute.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com \
        cloudtrace.googleapis.com \
        meshca.googleapis.com \
        meshtelemetry.googleapis.com \
        meshconfig.googleapis.com \
        iamcredentials.googleapis.com \
        anthos.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com

    API の有効化に数分かかることがあります。API が有効になると、次のような出力が表示されます。

    Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
    successfully.
    

新しい GKE クラスタの設定

このセクションでは、Anthos Service Mesh に必要なオプションで GKE クラスタを作成する際の基本について説明します。詳細については、クラスタの作成をご覧ください。

新しいクラスタを設定するには:

  1. 新しいクラスタのゾーンまたはリージョンマシンタイプ、GKE リリース チャンネルを選択します。Anthos Service Mesh で必要な最小マシンタイプは e2-standard-4 です。任意のリリース チャンネル オプションを使用できます。

    • シングルゾーン クラスタを作成する場合は、次のコマンドを実行して、使用可能な GCP ゾーンのリストを取得します。

      gcloud compute zones list
      
    • リージョン クラスタを作成する場合は、次のコマンドを実行して、使用可能なリージョンのリストを取得します。

      gcloud compute regions list
      
    • マシンタイプのリストを取得するには:

      gcloud compute machine-types list | more
      
  2. 次の環境変数を作成します。

    • クラスタ名を設定します。

      export CLUSTER_NAME=YOUR_CLUSTER_NAME

      クラスタ名に使用できるのは、英小文字、数字、- のみです。先頭は英字、末尾は英数字を使用し、40 文字以下にする必要があります。

    • CLUSTER_LOCATION をクラスタのゾーンまたはリージョンに設定します。

      export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION
    • ワークロード プールを設定します。

      export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog
    • メッシュ ID を設定します。

      export MESH_ID="proj-${PROJECT_NUMBER}"
    • リリース チャンネルを設定します。YOUR_CHANNELregularstablerapid のいずれかに置き換えます。

      export CHANNEL=YOUR_CHANNEL

      各チャネルの説明については、利用可能なチャネルをご覧ください。

  3. gcloud コマンドライン ツールのデフォルトのゾーンまたはリージョンを設定します。

    • シングルゾーン クラスタの場合は、デフォルト ゾーンを設定します。

      gcloud config set compute/zone ${CLUSTER_LOCATION}
    • リージョン クラスタの場合は、デフォルト リージョンを設定します。

      gcloud config set compute/region ${CLUSTER_LOCATION}

    ヒント: 今後のシェル環境の設定を容易にするために、各環境変数の export ステートメントをコピーして、新しいシェルの起動時に source するシンプルなシェル スクリプトに貼り付けることができます。スクリプトにデフォルト値を設定する gcloud コマンドを追加することもできます。または、gcloud init を使用して、名前付きの gcloud 構成を作成して有効にすることもできます。

  4. Anthos Service Mesh で必要なオプションでクラスタを作成します。次のコマンドは、4 つの vCPU を持つマシンタイプ e2-standard-4 の 4 つのノードを含むクラスタを作成します。これは、Anthos Service Mesh に必要な最小マシンタイプとノード数です。少なくとも 4 つの vCPU が存在する限り、別のマシンタイプを指定できます。また、システム要件に応じてノード数を増やすことができます。

    gcloud beta container clusters create ${CLUSTER_NAME} \
        --machine-type=e2-standard-4 \
        --num-nodes=4 \
        --workload-pool=${WORKLOAD_POOL} \
        --enable-stackdriver-kubernetes \
        --subnetwork=default \
        --labels=mesh_id=${MESH_ID} \
        --release-channel=${CHANNEL}

    clusters create コマンドを使用します。

    • workload-pool=${WORKLOAD_POOL}: Workload Identity を有効にします。これは、GKE アプリケーションから Google Cloud サービスに安全にアクセスする方法として推奨される方法です。

    • enable-stackdriver-kubernetes: GKE で Cloud Monitoring と Cloud Logging を有効にします。

    • subnetwork=default: デフォルトのサブネットワークを作成します。

    • labels mesh_id=${MESH_ID}: クラスタに mesh_id ラベルを設定します。これは、Cloud Console の Anthos Service Mesh ページに指標を表示するために必要です。

    • release-channel ${CHANNEL}: 指定したリリース チャンネルにクラスタを登録します。

認証情報と権限の設定

次に進む前に、必要な API をすべて有効にしたことを確認してください。不明な場合は、gcloud services enable コマンドを再び実行しても問題ありません。

  1. プロジェクトを初期化してインストールの準備をします。次のコマンドでサービス アカウントを作成し、サイドカー プロキシなどの Istio コンポーネントがプロジェクトのデータとリソースに安全にアクセスできるようにします。
    curl --request POST \
      --header "Authorization: Bearer $(gcloud auth print-access-token)" \
      --data '' \
      https://meshconfig.googleapis.com/v1alpha1/projects/${PROJECT_ID}:initialize

    コマンドを実行すると、空の中かっこ {} が返されます。

    将来、このクラスタに新しいバージョンの Anthos Service Mesh をインストールする場合は、コマンドを再実行する必要はありませんが、コマンドを再実行してもインストールには影響しません。

  2. クラスタとやり取りするために必要な認証情報を取得します。
    gcloud container clusters get-credentials ${CLUSTER_NAME}
  3. 現在のユーザーにクラスタ管理者の権限を付与します。この権限は、Anthos Service Mesh に必要なロールベースのアクセス制御(RBAC)ルールを作成するのに必要です。
    kubectl create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user="$(gcloud config get-value core/account)"

    "cluster-admin-binding" already exists エラーが発生した場合は、無視して既存の cluster-admin-binding を続行しても問題ありません。

クラスタの登録

Cloud Console で統合ユーザー インターフェースにアクセスするには、クラスタをプロジェクトの Environ に登録する必要があります。Environ は、Google Cloud 外のクラスタを含むクラスタとそのワークロードを表示して管理するために統合された方法を提供します。

Google Cloud のサービス アカウントと鍵ファイルを作成する

クラスタを登録するには、サービス アカウントの認証情報を含む JSON ファイルが必要です。最小権限の原則に従い、登録するクラスタごとに個別のサービス アカウントを作成することをおすすめします。

サービス アカウントとキーファイルを作成するには:

  1. サービス アカウントの名前を選択して、その環境変数を作成します。

    export SERVICE_ACCOUNT_NAME=SERVICE_ACCOUNT_NAME
    
  2. サービス アカウントを作成します。

    gcloud iam service-accounts create ${SERVICE_ACCOUNT_NAME}
  3. プロジェクトのサービス アカウントをすべて一覧表示して、サービス アカウントが作成されたことを確認します。

    gcloud iam service-accounts list
  4. サービス アカウントに gkehub.connect IAM ロールをバインドします。

    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
       --member="serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" \
       --role="roles/gkehub.connect"
  5. JSON ファイルを保存するローカル ファイルパスの環境変数を作成します。ファイル名にサービス アカウント名とプロジェクト ID を使用することをおすすめします(例: /tmp/creds/${SERVICE_ACCOUNT_NAME}-${PROJECT_ID}.json)。

    export SERVICE_ACCOUNT_KEY_PATH=LOCAL_KEY_PATH
  6. サービス アカウントの秘密鍵の JSON ファイルをダウンロードします。

    gcloud iam service-accounts keys create ${SERVICE_ACCOUNT_KEY_PATH} \
       --iam-account=${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com

クラスタを登録する

次のコマンドを使用して、MEMBERSHIP_NAME を Hub に登録されているクラスタを一意に識別する名前に置き換えます。

gcloud container hub memberships register MEMBERSHIP_NAME \
    --gke-cluster=${CLUSTER_LOCATION}/${CLUSTER_NAME} \
    --service-account-key-file=${SERVICE_ACCOUNT_KEY_PATH}

次のような出力が返されます。

kubeconfig entry generated for CLUSTER_NAME.
Waiting for membership to be created...done.
Created a new membership [projects/PROJECT_ID/locations/global/memberships/MEMBERSHIP_NAME] for the cluster [MEMBERSHIP_NAME]
Generating the Connect Agent manifest...
Deploying the Connect Agent on cluster [MEMBERSHIP_NAME] in namespace [gke-connect]...
Deployed the Connect Agent on cluster [MEMBERSHIP_NAME] in namespace [gke-connect].
Finished registering the cluster [MEMBERSHIP_NAME] with the Hub.

このサービス アカウント キーは、creds-gcp という名前のシークレットとして gke-connect 名前空間に保存されます。

クラスタの登録の詳細については、Connect のドキュメントでクラスタの登録をご覧ください。

インストール ファイルのダウンロード

次に進む前に、ASM Mesh Data Plane Service Account がプロジェクトのメンバーであることを確認します。

gcloud projects get-iam-policy ${PROJECT_ID} | grep -B 1 'roles/meshdataplane.serviceAgent'

上述のコマンドで何も出力されない場合は、認証情報と権限の設定セクションに戻り、curl コマンドを実行します。

    Linux

  1. Anthos Service Mesh インストール ファイルを現在の作業ディレクトリにダウンロードします。
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-linux.tar.gz
  2. 署名ファイルをダウンロードし、openssl を使用して署名を検証します。
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-linux.tar.gz.1.sig
    openssl dgst -verify - -signature istio-1.5.10-asm.2-linux.tar.gz.1.sig istio-1.5.10-asm.2-linux.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    想定される出力は Verified OK です。

  3. ファイル システム上の任意の場所にファイルの内容を抽出します。たとえば、現在の作業ディレクトリにコンテンツを抽出するには、次のコマンドを実行します。
    tar xzf istio-1.5.10-asm.2-linux.tar.gz

    このコマンドにより、現在の作業ディレクトリに istio-1.5.10-asm.2 という名前のインストール ディレクトリが作成されます。このディレクトリには、次のものが含まれます。

    • samples にはサンプル アプリケーション。
    • bin ディレクトリには次のツール:
      • istioctl: istioctl は Anthos Service Mesh のインストールに使用します。
      • asmctl: asmctl を使用して、Anthos Service Mesh をインストールした後、セキュリティ構成を検証します(現在、asmctl は Anthos clusters on VMware ではサポートされていません)。

  4. Mac OS

  5. Anthos Service Mesh インストール ファイルを現在の作業ディレクトリにダウンロードします。
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-osx.tar.gz
  6. 署名ファイルをダウンロードし、openssl を使用して署名を検証します。
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-osx.tar.gz.1.sig
    openssl dgst -sha256 -verify /dev/stdin -signature istio-1.5.10-asm.2-osx.tar.gz.1.sig istio-1.5.10-asm.2-osx.tar.gz <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    想定される出力は Verified OK です。

  7. ファイル システム上の任意の場所にファイルの内容を抽出します。たとえば、現在の作業ディレクトリにコンテンツを抽出するには、次のコマンドを実行します。
    tar xzf istio-1.5.10-asm.2-osx.tar.gz

    このコマンドにより、現在の作業ディレクトリに istio-1.5.10-asm.2 という名前のインストール ディレクトリが作成されます。このディレクトリには、次のものが含まれます。

    • samples にはサンプル アプリケーション。
    • bin ディレクトリには次のツール:
      • istioctl: istioctl は Anthos Service Mesh のインストールに使用します。
      • asmctl: asmctl を使用して、Anthos Service Mesh をインストールした後、セキュリティ構成を検証します(現在、asmctl は Anthos clusters on VMware ではサポートされていません)。

  8. Windows

  9. Anthos Service Mesh インストール ファイルを現在の作業ディレクトリにダウンロードします。
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-win.zip
  10. 署名ファイルをダウンロードし、openssl を使用して署名を検証します。
    curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.5.10-asm.2-win.zip.1.sig
    openssl dgst -verify - -signature istio-1.5.10-asm.2-win.zip.1.sig istio-1.5.10-asm.2-win.zip <<'EOF'
    -----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
    wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
    -----END PUBLIC KEY-----
    EOF

    想定される出力は Verified OK です。

  11. ファイル システム上の任意の場所にファイルの内容を抽出します。たとえば、現在の作業ディレクトリにコンテンツを抽出するには、次のコマンドを実行します。
    tar xzf istio-1.5.10-asm.2-win.zip

    このコマンドにより、現在の作業ディレクトリに istio-1.5.10-asm.2 という名前のインストール ディレクトリが作成されます。このディレクトリには、次のものが含まれます。

    • samples にはサンプル アプリケーション。
    • bin ディレクトリには次のツール:
      • istioctl: istioctl は Anthos Service Mesh のインストールに使用します。
      • asmctl: asmctl を使用して、Anthos Service Mesh をインストールした後、セキュリティ構成を検証します(現在、asmctl は Anthos clusters on VMware ではサポートされていません)。

  12. Anthos Service Mesh インストールのルート ディレクトリに移動していることを確認します。
    cd istio-1.5.10-asm.2
  13. 利便性を考えて、/bin ディレクトリ内のツールを PATH に追加します。
    export PATH=$PWD/bin:$PATH

リソース構成ファイルの準備

istioctl apply command を実行して Anthos Service Mesh をインストールする際には、コマンドラインで -f istio-operator.yaml を指定します。このファイルには、メッシュ テレメトリーとメッシュ セキュリティの機能を有効にするために必要なプロジェクトとクラスタに関する情報が含まれます。istio-operator.yaml と他のリソース構成ファイルをダウンロードして、プロジェクトとクラスタの情報を設定する必要があります。

リソース構成ファイルを準備するには:

  1. まだ行っていない場合は、kpt をインストールします。

    gcloud components install kpt
    
  2. 必要に応じて、Anthos Service Mesh パッケージのリソース構成ファイル用に新しいディレクトリを作成します。複数のクラスタを設定する場合は、クラスタ名をディレクトリ名として使用できます。

  3. Anthos Service Mesh パッケージをダウンロードするディレクトリに変更します。

  4. Anthos Service Mesh パッケージを現在の作業ディレクトリにダウンロードします。

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.5-asm .
    

  5. クラスタ名を設定します。

      kpt cfg set asm gcloud.container.cluster ${CLUSTER_NAME}

  6. 必要に応じて、kpt セッターを使用してリソース構成ファイルをカスタマイズします。デフォルトでは、これらのセッターは gcloud config のデフォルトを使用します。gcloud config のデフォルトを設定する場合、または値を変更する場合は、次のセッターを実行します。

    • プロジェクト ID を設定します。

      kpt cfg set asm gcloud.core.project ${PROJECT_ID}
    • デフォルトのゾーンまたはリージョンを設定します。

      kpt cfg set asm gcloud.compute.location ${CLUSTER_LOCATION}
  7. また、リソース構成ファイルを Cloud Source Repositories などの独自のソース管理システムにチェックインして、ファイルの変更をトラッキングすることもできます。

Anthos Service Mesh のインストール

このセクションでは、Anthos Service Mesh をインストールして有効にする方法を説明します。

  • サポートされている機能に記載されているサポート対象のデフォルトの機能
  • Anthos Service Mesh の認証局(Mesh CA)。
  • Google Cloud Console で Anthos Service Mesh ダッシュボードを強化するテレメトリー データ パイプライン。

サポートされているオプション機能の有効化については、オプション機能の有効化をご覧ください。

Anthos Service Mesh をインストールするには:

次のいずれかのコマンドを選択して、PERMISSIVE 相互 TLS(mTLS)認証モードまたは STRICT mTLS モードで Anthos Service Mesh を構成します。

PERMISSIVE mTLS

istioctl manifest apply --set profile=asm \
  -f asm/cluster/istio-operator.yaml

STRICT mTLS

istioctl manifest apply --set profile=asm \
  -f asm/cluster/istio-operator.yaml \
  --set values.global.mtls.enabled=true

インストールの検証

asmctl 分析ツールを使用して、プロジェクト、クラスタ、ワークロードの基本構成を検証することをおすすめします。asmctl テストに失敗した場合は、可能であれば asmctl は推奨の解決策を提示します。asmctl validate コマンドは、以下を確認する基本的なテストを実行します。

  1. Anthos Service Mesh で必要な API がプロジェクトで有効になっている。
  2. Istio-Ingressgateway が Mesh CA を呼び出すよう適切に構成されている。
  3. Istiod と Istio-Ingressgateway の全般的な状態。

オプションの --with-testing-workloads フラグを使用して asmctl validate コマンドを実行した場合、基本テストに加えて、asmctl は以下を確認するセキュリティ テストを実行します。

  1. 相互 TLS(mTLS)通信が適切に構成されている。
  2. メッシュ CA が証明書を発行できる。

セキュリティ テストを行う際に asmctl はクラスタ上のテスト用名前空間にワークロードをデプロイします。mTLS 通信のテストを実行して結果を出力し、テスト用名前空間を削除します。

asmctl を実行するには:

  1. gcloud application-default 認証情報が設定されていることを確認します。

     gcloud auth application-default login
    
  2. まだ行っていない場合は、クラスタとのやり取りに必要な認証情報を取得します。

     gcloud container clusters get-credentials ${CLUSTER_NAME}
    
  3. 基本テストとセキュリティ テストの両方を実行するには(istio-1.5.10-asm.2/binPATH にあると想定):

    asmctl validate --with-testing-workloads
    

    成功すると、次のような出力が返されます。

    [asmctl version 0.3.0]
    Using Kubernetes context: example-project_us-central1-example-cluster
    To change the context, use the --context flag
    Validating enabled APIs
    OK
    Validating ingressgateway configuration
    OK
    Validating istio system
    OK
    Validating sample traffic
    Launching example services...
    Sent traffic to example service http code: 200
    verified mTLS configuration
    OK
    Validating issued certs
    OK
    

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

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

ワークロードをデプロイする前に、Anthos Service Mesh がトラフィックをモニタリングおよび保護できるように、サイドカー プロキシ インジェクションを構成します。

自動サイドカー インジェクションは、次のように 1 つのコマンドで有効にできます。

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

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

詳細については、サイドカー プロキシの挿入をご覧ください。

Anthos Service Mesh ダッシュボードの表示

サイドカー プロキシが挿入されたクラスタにワークロードをデプロイすると、Cloud Console の Anthos Service Mesh ページで、Anthos Service Mesh が提供するすべてのオブザーバビリティ機能を確認できます。ワークロードをデプロイした後、Cloud Console にテレメトリー データが表示されるまでに 1~2 分ほどかかることがあります。

Cloud Console での Anthos サービス メッシュへのアクセスは、Identity and Access Management(IAM)によって制御されます。Anthos Service Mesh ページにアクセスするには、プロジェクト オーナーがユーザーに対して、プロジェクト編集者または閲覧者のロール、または、より限定的なロール(Cloud Console での Anthos Service Mesh へのアクセスの制御を参照)を付与する必要があります。

  1. Google Cloud Console で、[Anthos Service Mesh] に移動します。

    [Anthos Service Mesh] に移動する

  2. メニューバーのプルダウン リストから Cloud プロジェクトを選択します。

  3. 複数のサービス メッシュがある場合は、[サービス メッシュ] プルダウン リストからメッシュを選択します。

詳細については、Cloud Console での Anthos Service Mesh の確認をご覧ください。

Anthos Service Mesh ページに加えて、サービスに関連する指標(特定のサービスで受信したリクエストの数など)が Cloud Monitoring に送信され、Metrics Explorer に表示されます。

指標を表示するには:

  1. Google Cloud Console で、[Monitoring] ページに移動します。

    [Monitoring] に移動

  2. [リソース] > [Metrics Explorer] を選択します。

指標の完全なリストについては、Cloud Monitoring のドキュメントの Istio 指標をご覧ください。

次のステップ