オプション機能の有効化

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

ASM 構成プロファイルをオーバーライドして、サポートされているオプション機能を有効にするには、IstioOperator API を使用します。YAML ファイルで IstioOperator 構成を指定し、-f コマンドライン オプションを使用してファイルを istioctl manifest apply コマンドに渡します。

--set オプションを使用してコマンドラインで構成パラメータを指定できますが、バージョン管理システム内のファイルをクラスタ リソース構成ファイルとともに保存できるように、構成には YAML ファイルを使用することをおすすめします。

YAML 構成の spec セクションは、--set コマンドライン オプションに対応しています。たとえば、STRICT mTLS モードを有効にする YAML は次のようになります。

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  global:
    mtls:
      enabled: true

対応するコマンドライン オプションは --set global.mtls.enabled=true です。

詳細については、構成のカスタマイズをご覧ください。

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

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

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

    • Google Kubernetes Engine の場合は、--set profile=asm を使用します。
    • GKE on VMware の場合は、--set profile=asm-onprem を使用します。
  • GKE の場合、リソース構成ファイルの準備の説明に沿って istio-operator.yaml ファイルを準備し、istioctl manifest apply を実行するときにコマンドラインでオプション機能を使用して、istio-operator.yaml ファイルと YAML ファイル両方を指定します。

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

機能 YAML
mTLS STRICT モード

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  global:
    mtls:
      enabled: true
Envoy を stdout に出力する

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  global:
    proxy:
      accessLogFile="/dev/stdout"

詳細については、Envoy のアクセス ロギングを有効にするをご覧ください。

Cloud Trace

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  addonComponents:
    tracing:
      enabled: true
  values:
    global:
      proxy:
        tracer: "stackdriver"
Egress ゲートウェイ経由の下り(外向き)

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    egressGateways:
      - name: istio-egressgateway
        enabled: true

詳細については、ゲートウェイをご覧ください。

GKE: Istio Container Network Interface(CNI) GKE の場合:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    cni:
      enabled: true
      namespace: kube-system
  values:
    cni:
      cniBinDir: /home/kubernetes/bin
      excludeNamespaces:
        - istio-system
        - kube-system

GKE on VMware の場合は、gke-systemexcludeNamespaces に追加し、values.cni.cniBinDir/opt/cni/bin です。


apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  components:
    cni:
      enabled: true
      namespace: kube-system
  values:
    cni:
      cniBinDir: /opt/cni/bin
      excludeNamespaces:
        - istio-system
        - kube-system
        - gke-system

また、ネットワーク ポリシーを有効にする必要があります。

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

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


apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: empty
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          serviceAnnotations:
            cloud.google.com/load-balancer-type: "internal"
          service: your_service_name
            ports:
              - name: status-port
                port: 15020
              - name: http2
                port: 80
              - name: https
                port: 443