You need to enable JavaScript to run this app.
导航
编辑目标规则
最近更新时间:2024.12.09 10:00:01首次发布时间:2024.12.09 10:00:01
复制全文
我的收藏
有用
有用
无用
无用

服务网格支持通过更新目标规则调整服务的流量策略,例如新增服务的分支等。本文介绍如何编辑目标规则。

前置条件

已创建目标规则,操作步骤参见 创建目标规则

背景信息

服务网格支持更新的目标规则配置如下。

  • 基本信息

    名称说明
    服务版本(Subset)服务版本是服务实例的一组子集,可以用于 A/B 测试或者分版本路由等场景。服务版本支持通过标签,筛选 Deployment、StatefulSet 等类型的工作负载。
  • 流量规则

    流量规则包括连接池、负载均衡和熔断策略,可以为不同的服务版本制定不同的流量规则。

    名称说明
    连接池连接池可以对上游服务的并发连接数和请求数进行限制,连接池支持参数包括:
    • 最大并发请求数:后端请求的最大数量。
    • 最大等待连接数:最大等待 HTTP 请求数,只适用于 HTTP/1.1 的服务。
    • 每个连接最大请求数:每个连接的最大请求数,如果超过了限制,就会开启限流。如果将参数设置为 1 则会禁止 keepalive 特性。
    • 空闲超时时间:大于空闲超时时长的无活动请求链接会被关闭。
    • 最大重试次数:支持最大的重复次数,超过该阈值则判定为连接失败。
    负载均衡负载均衡用于指定向后端转发时使用的负载均衡策略,支持的负载均衡策略包括:
    • 简单负载均衡:
      • 轮询:将请求平均地转发给各个后端
      • 最小链接数:请求会被转发到连接数最少的服务器上
      • 随机:随机选取一台服务器进行访问,随着访问体量的增大,趋向于轮询。
      • 源 IP:直接转发连接到客户端的目标地址,既没有做负载均衡。
    • 会话保持:
      • HTTP Cookie:根据指定 HTTP Cookie Key 进行 Hash 计算,确定请求分配的主机。需要指定过期时间。
        • Cookie key:设置 HTTP Cookie Key 的名称
        • path:路径不超过 256 个字符
        • 生命周期:会话的周期,单位为秒(s)
      • 源 IP:根据用户源 IP 进行 进行 Hash 计算,确定请求分配的主机。
      • HTTP header:根据指定 HTTP header 进行 Hash 计算,确定请求分配的主机。
      • httpQueryParameter :根据指定 HTTP Query 进行 进行 Hash 计算,确定请求分配的主机。
    熔断服务网格会定时检测的服务实例的工作情况,如果连接出现访问异常,则将服务实例标记为异常并进行熔断,在一段时间内不为其分配流量。熔断支持参数包括:
    • 连续错误数:在指定时间段内 HTTP 返回码 500+ 连续出现的次数。超过连续错误数则触发服务熔断。
    • 统计时间间隔:统计错误数的间隔时间,单位为秒(s)。
    • 最小隔离时间:隔离服务实例的最小时间,隔离时间会随着错误次数增加而增加(隔离时间 = 最小隔离时间 * 错误次数),单位为秒(s)。
    • 最大隔离比例 :隔离服务实例的最大百分比,避免太多实例同时被隔离。
    • 最小健康比例: 健康的服务实例占比低于此比例不再进行隔离,访问会分发到所有负载。0 表示不启用此配置。

操作步骤

  1. 登录规则配置页面。

    1. 登录 服务网格控制台
    2. 在左侧导航栏,选择 服务治理 > 服务总览
    3. 在服务管理列表中单击目标服务的名称。
    4. 点击 规则配置
  2. 规则列表 区域,单击目标规则 操作 列下的 编辑编辑 YAML
    alt

    • 编辑:通过可视化配置页面更新目标规则。
    • 编辑 YAML:通过 YAML 文件更新目标规则。
  3. 配置目标规则参数。

  4. 完成配置后单击页面底部的 确定