Anthos Service Mesh をインストールするときに、Anthos Service Mesh の構成プロファイルを指定します。これにより、サポートされている機能に記載されているサポートされているデフォルト機能が有効になります。Anthos Service Mesh の構成プロファイル asm.yaml
と asm-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
を使用します。
- Google Kubernetes Engine の場合は、
オプション機能を有効にするコマンドライン オプション
次の表に、オプション機能とサポートされている機能を有効にするコマンドライン オプションを示します。
機能 | コマンドライン オプション |
---|---|
mTLS STRICT モード |
--set values.global.mtls.enabled=true |
Prometheus | --set values.prometheus.enabled=true |
Grafana(Prometheus が必要) |
--set values.prometheus.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 のロードバランサの設定をご覧ください。
次のテキストをファイルにコピーし、
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
コマンドラインでファイルを指定します。
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