启用可选功能

安装 Anthos Service Mesh 时,您可以指定 Anthos Service Mesh 配置文件,其用于启用在支持的功能页面上列出的支持的默认功能。Anthos Service Mesh 配置文件 asm.yamlasm-onprem.yaml 位于 Anthos Service Mesh 安装根目录的 install/kubernetes/operator/profiles 子目录中。这些配置文件定义和配置使用 Anthos Service Mesh 安装的功能。

您可以使用 IstioOperator API 替换 ASM 配置文件并启用支持的可选功能。您可以在 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 文件,并指定 istio-operator.yaml 文件和 YAML 文件(具有在运行 istioctl manifest apply 时命令行上的可选功能)。

下表提供了用于启用可选的功能和支持的功能的 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"
通过出站流量网关出站

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

如需了解详情,请参阅网关

GKE:Istio 容器网络接口 (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-system 添加到 excludeNamespacesvalues.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 入站流量网关启用内部负载均衡器。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