オプション機能の有効化

Anthos Service Mesh をインストールするときに、Anthos Service Mesh の構成プロファイルを指定します。これにより、サポートされている機能に記載されているサポートされているデフォルト機能が有効になります。Anthos Service Mesh の構成プロファイル asm.yamlasm-onprem.yaml は、Anthos Service Mesh のインストールのルート ディレクトリ内の install/kubernetes/operator/profiles サブディレクトリにあります。構成プロファイルは、Anthos Service Mesh でインストールされる機能を定義して構成します。

コマンドラインで --set values を使用することで、ASM 構成プロファイルをオーバーライドし、サポートされているオプション機能を個別に有効にできます。また、有効にする機能の数が多い場合や、機能に多くの設定が含まれる場合には、IstioControlPlane カスタム リソース定義ファイルを作成できます。-f オプションを使用してファイルを istioctl に渡します。詳細については、構成のカスタマイズをご覧ください。

オプション機能を有効にする場合:

  • 有効にする機能がサポートされていることを確認してください。

  • プラットフォームに適切な構成プロファイルを指定します。

    • Google Kubernetes Engine の場合は、--set profile=asm を使用します。
    • GKE on VMware の場合は、--set profile=asm-onprem を使用します。

オプション機能を有効にするコマンドライン オプション

次の表に、オプション機能とサポートされている機能を有効にするコマンドライン オプションを示します。

機能 コマンドライン オプション
mTLS STRICT モード --set values.global.mtls.enabled=true
Prometheus --set values.prometheus.enabled=true
Grafana(Prometheus が必要) --set values.prometheus.enabled=true \
--set values.grafana.enabled=true
Envoy を stdout に出力する --set values.global.proxy.accessLogFile="/dev/stdout"
詳細については、Envoy のアクセス ロギングを有効にするをご覧ください。
Stackdriver トレース --set values.tracing.enabled=true \
--set values.global.proxy.tracer="stackdriver"
Egress ゲートウェイ経由の下り(外向き) --set values.gateways.istio-egressgateway.enabled=true
詳細については、ゲートウェイをご覧ください。

GKE に Anthos Service Mesh をインストールするコマンドでは、次の環境変数を使用します。

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

    export PROJECT_ID=YOUR_PROJECT_ID
  • プロジェクト番号を設定します。

    export PROJECT_NUMBER=$(gcloud projects describe ${PROJECT_ID} --format="value(projectNumber)")
  • クラスタ名を設定します。

    export CLUSTER_NAME=YOUR_CLUSTER_NAME

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

    export CLUSTER_LOCATION=YOUR_ZONE_OR_REGION

  • ワークロード プールを設定します。

    export WORKLOAD_POOL=${PROJECT_ID}.svc.id.goog

  • Google Cloud コンソールの [Anthos Service Mesh] ページに指標を表示するために必要なメッシュ ID を設定します。

    export MESH_ID="proj-${PROJECT_NUMBER}"

Egress ゲートウェイを有効にする

PERMISSIVE 相互 TLS(mTLS)認証モードに Anthos Service Mesh をインストールし、Egress ゲートウェイを有効にするには:

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.gateways.istio-egressgateway.enabled=true

GKE On-Prem

istioctl manifest apply --set profile=asm-onprem} \
--set values.gateways.istio-egressgateway.enabled=true

STRICT mTLS モードの有効化

Anthos Service Mesh を STRICT mTLS モードでインストールするには:

GKE

istioctl manifest apply --set profile=asm \
--set values.global.trustDomain=${WORKLOAD_POOL} \
--set values.global.sds.token.aud=${WORKLOAD_POOL} \
--set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
--set values.global.meshID=${MESH_ID} \
--set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
--set values.global.mtls.enabled=true

GKE On-Prem

istioctl manifest apply --set profile=asm-onprem \
--set values.global.mtls.enabled=true

内部ロードバランサを有効にする

GKE でインストールする場合は、Istio Ingress Gateway の内部ロードバランサを有効にできます。GKE on VMware では、内部ロードバランサはサポートされていません。GKE on VMware の構成については、GKE on VMware のロードバランサの設定をご覧ください。

  1. 次のテキストをファイルにコピーし、ilb.yaml として保存します。

    apiVersion: install.istio.io/v1alpha2
    kind: IstioControlPlane
    spec:
      values:
        gateways:
          istio-ingressgateway:
            serviceAnnotations:
              cloud.google.com/load-balancer-type: internal
            ports:
              - name: status-port
                port: 15020
              - name: http2
                port: 80
              - name: https
                port: 443
    
  2. コマンドラインでファイルを指定します。

    istioctl manifest apply --set profile=asm \
    --set values.global.trustDomain=${WORKLOAD_POOL} \
    --set values.global.sds.token.aud=${WORKLOAD_POOL} \
    --set values.nodeagent.env.GKE_CLUSTER_URL=https://container.googleapis.com/v1/projects/${PROJECT_ID}/locations/${CLUSTER_LOCATION}/clusters/${CLUSTER_NAME} \
    --set values.global.meshID=${MESH_ID} \
    --set values.global.proxy.env.GCP_METADATA="${PROJECT_ID}|${PROJECT_NUMBER}|${CLUSTER_NAME}|${CLUSTER_LOCATION}" \
    -f ilb.yaml