Ambient数据面组件配置

Ambient模式下的关键数据面组件有ZtunnelWaypoint。Ztunnel组件以Daemonset形式部署,负责处理每个节点上的4层流量;Waypoint组件以独立的Deployment形式部署,负责处理指定Service、Pod7层流量。本文介绍如何配置ZtunnelWaypoint组件。

Ztunnel组件资源配置

Ztunnel组件以Daemonset形式由ASM控制面下发到您的数据面集群中。您可以通过kubectl修改ASMMeshConfig资源来配置Ztunnel资源。以下为ASMMeshConfig示例。

说明

ASM 1.22版本开始,已经默认开启使用数据面kubeconfig操作ASMMeshConfig资源。若您遇到例如“对应资源不存在”等报错时,请确保ASM实例已开启启用数据面KubeAPI访问功能。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMMeshConfig
metadata:
  name: default
spec:
......
  ambientConfiguration:
    enabled: true
    redirectMode: ""
    waypoint: {}
    ztunnel:
      # ztunnel优雅下线时间
      # 该时间段内,老的ztunnel将正常处理已有连接
      terminationGracePeriodSeconds: 30
      # ztunnel resources配置
      resources:
        limits:
          cpu: "2"
          memory: 1024Mi
        requests:
          cpu: 200m
          memory: 256Mi
......

您可以按照以下步骤进行修改:

  1. 获取当前ASMMeshConfig内容,保存至本地。

    kubectl get ASMMeshConfig default -o yaml > asmmeshconfig.yaml
  2. 本地编辑asmmeshconfig.yaml文件,修改ztunnel中的resources字段。

  3. 应用配置。

    kubectl apply -f asmmeshconfig.yaml

Waypoint组件配置

Waypoint组件使用Gateway API中的Gateway资源配置,以Deployment形式部署在数据面集群中,所以在您的集群中可能存在多个Waypoint实例。您可以灵活地指定某个服务或工作负载的请求要经过某个特定的Waypoint。

Waypoint的全局配置同样保存在ASMMeshconfig中,示例配置如下。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMMeshConfig
metadata:
  name: default
spec:
......
  ambientConfiguration:
    enabled: true
    redirectMode: ""
    waypoint:
      proxyResources:
        limits:
          cpu: "2"
          memory: 1024Mi
        requests:
          cpu: 200m
          memory: 256Mi
    ztunnel:
      resources:
        limits:
          cpu: "2"
          memory: 1024Mi
        requests:
          cpu: 200m
          memory: 256Mi
......

您可以参考和Ztunnel类似的步骤,修改Waypoint的全局配置。