微服务治理
微服务应用
概述
微服务应用是一组工作负载、服务、服务网格资源等资源对象的集合,支持将微服务应用接入平台进行可视化治理。支持创建新的或选择已有的工作负载和服务创建微服务应用,以支持对应用进行流量治理、灰度发布、链路追踪、拓扑查看等。
Note: 在集群中使用微服务治理功能,需要先在集群部署微服务治理组件,可在创建集群时开启微服务治理组件,或进入集群详情页功能组件列表部署。
创建微服务应用
在ZStack Zaku主菜单,选择。在微服务应用界面,点击创建微服务应用,弹出创建微服务应用界面。
可参考以下示例输入相应内容:
- 名称:设置微服务应用的名称。命名规则 :长度限制1-50字符 ,只能包含小写字母、数字及分隔符 (-),且必须以小写字母开头,以数字或小写字母结尾
- 简介:可选项,备注微服务应用相关的信息
- 工作负载:指定微服务应用的工作负载。支持选择已有工作负载或创建新的工作负载
- 选择已有 :直接选择已有的工作负载Note: 同一个工作负载只能关联到一个微服务应用
- 新建 :创建一个新的工作负载关联到微服务应用,参考创建工作负载
- 选择已有 :直接选择已有的工作负载
- 工作负载版本:设置工作负载版本。版本规则:长度限制1-50字符 ,只能包含小写字母、数字和分隔符 “-”,“-”
不能用于开头或结尾Note: 如工作负载已有 zsedge.io/version 标签,默认使用该标签的值作为工作负载版本,支持手动修改,修改后的值将覆盖到工作负载 zsedge.io/version。
- 服务:指定工作负载的服务。支持选择已有服务或创建新的服务
- 选择已有:直接选择已有的服务。Note: 已有服务必须跟微服务应用的工作负载关联
- 新建:创建一个新的服务。参考创建服务
- 选择已有:直接选择已有的服务。
如创建微服务应用所示:

管理微服务应用
在ZStack Zaku主菜单,点击,进入微服务应用界面。
微服务应用支持以下操作:
| 操作 | 描述 |
|---|---|
| 创建微服务应用 | 创建一个新的微服务应用。 |
| 灰度发布 | 创建灰度发布,通过灰度发布的方式更新微服务应用下的工作负载。 Note:
|
| 删除微服务应用 | 删除微服务应用。 Note: 删除微服务应用将同步删除微服务应用下的服务网格资源。 |
灰度发布
背景信息
灰度发布是一种软件部署策略,旨在安全地逐步将新版本应用到生产环境中。ZStack Zaku支持可视化操作完整的灰度发布流程,包括:创建灰度发布任务、配置流量策略、实时监控灰度发布过程、版本下线等,实现版本更新的平滑过渡和风险控制。本节主要介绍灰度发布的全过程。灰度发布全过程分为以下四步:
- 创建灰度发布任务
- 监控灰度发布
- 调整流量策略
- 接管所有流量并下线版本
操作步骤
-
创建灰度发布任务
在ZStack Zaku主菜单,点击。在微服务应用界面,选择要进行灰度发布的微服务应用,点击灰度发布,弹出灰度发布界面。
创建灰度发布任务分为以下两步:
-
监控灰度发布
创建灰度发布任务后,在ZStack Zaku主菜单,点击。在微服务应用界面,点击已进行灰度发布的微服务应用,进入微服务应用详情页灰度发布页面,可以查看灰度发布任务的详情及新旧版本间的流量监控。如图 4所示:
图 4. 灰度发布详情 

-
调整流量策略
在ZStack Zaku主菜单,点击。在微服务应用界面,点击已进行灰度发布的微服务应用,进入微服务应用详情页灰度发布页面,点击修改策略,弹出修改策略界面。可根据灰度发布的实际情况参考创建灰度发布任务步骤调整流量策略。
-
接管所有流量并版本下线
当确定新版本功能稳定后,可让新版本接管所有流量,或在新版本出现问题时由旧版本接管回所有流量。在ZStack Zaku主菜单,点击。在微服务应用界面,点击已进行灰度发布的微服务应用,进入微服务应用详情页灰度发布页面,选择需要接管所有流量的版本,点击接管所有流量,则请求流量将全部发送到接管流量的版本。此时,可点击版本下线,将没有流量访问的版本下线,并删除版本对应的工作负载。
服务拓扑
概述
服务拓扑直观展示当前命名空间下微服务应用间的调用、依赖关系和流量监控数据。支持可视化查看历史和实时的拓扑图,并支持对微服务应用配置负载均衡、连接池、熔断器等流量治理规则。
Note: 要在集群中使用微服务治理功能,需要先在集群部署微服务治理组件,可在创建集群时开启微服务治理组件,或进入集群详情页功能组件列表部署。
查看拓扑图
在ZStack Zaku主菜单,选择,进入服务拓扑界面。
服务拓扑默认展示所选集群所选命名空间下最近1分钟微服务应用的拓扑图,支持如下内容:
- 展示工作负载的每秒请求数、请求成功率、请求延时、容器组数量
- 每分钟自动刷新获取最新数据并实时展示
- 支持选择时间段,查看所选时间段的拓扑Note: 如所选时间段内,微服务应用间无流量访问,则拓扑图只展示节点,无连线。
- 节点连线包括绿、黄、红三色,直观展示请求成功率。请求成功率的颜色阈值为:绿(大于等于99.9%)、黄(大于等于80%且小于99.9%)、红(小于80%)
- 支持放大、缩小、全屏查看
如图 1所示:

流量治理
在ZStack Zaku主菜单,选择,进入服务拓扑界面。在拓扑图上点击要进行流量治理的微服务应用或工作负载,弹出流量治理界面。
可参考以下示例输入相应内容:
- 负载均衡:选择是否配置负载均衡参数,默认关闭。若开启,则需设置如下参数:
- 负载均衡策略:选择负载均衡策略,支持最少请求、轮询、随机、会话保持四种策略,默认为最少请求Note:
- 最少请求:将访问流量发送到当前请求量最少的容器组。
- 轮询:将访问流量轮流发送到各个容器组。
- 随机:将访问流量随机发送到任意容器组。
- 会话保持:基于哈希算法,将满足条件的流量分配给同一个容器组,保证会话连续性和一致性。
如选择会话保持,则基于哈希算法,将满足条件的流量分配给同一个容器组,保证会话连续性和一致性,请设置以下参数:- 会话保持算法:设置会话保持算法,支持基于HTTP
Header哈希、基于HTTP Cookie哈希、基于源IP地址哈希三种算法,默认为基于HTTP
Header哈希如选择基于HTTP Header哈希,则根据 Header 中的信息保持会话,将 Header 中指定键值一致的请求发送到同一个容器组,请设置以下参数:
- HTTP Header键:设置要用于HTTP Header哈希的指定Header键的名称
如选择基于 HTTP Cookie 哈希,则根据 Cookie 信息保持会话,将 Cookie 中指定信息一致的请求发送到同一个容器组,请设置以下参数:- Cookie名称:设置要用于HTTP Cookie 哈希的Cookie名称
- Cookie路径:选填,设置要用于HTTP Cookie 哈希的Cookie路径
- Cookie有效时间:选填,设置要用于HTTP Cookie 哈希的Cookie有效时间,单位秒
如选择基于源 IP 地址哈希,则根据 HTTP 源 IP 地址信息保持会话,将来自同一个源 IP 地址的请求发送到同一个容器组
- 负载均衡策略:选择负载均衡策略,支持最少请求、轮询、随机、会话保持四种策略,默认为最少请求
- 连接池:选择是否配置连接池参数,默认关闭。若开启,则需设置如下参数:
- 最大等待请求数:设置连接池最大等待的请求数,只能是正整数
- 最大请求数:设置连接池允许的最大请求数,只能是正整数
- 每连接最大请求数:设置每连接允许的最大请求数,只能是正整数Note: 若每连接最大请求数设置为 1,将禁用会话保持。
- 最大重试次数:设置最大重试次数,只能是正整数
- 连接超时时间:设置连接超时时间,单位秒,只能是正整数
- 熔断器:选择是否开启熔断器,默认关闭。若开启,则需设置如下参数:Note: 熔断器是一种被动保持 HTTP 服务健康的机制。当发送到某个容器组的请求连续返回 5xx 响应错误并达到指定次数时,该容器组将被熔断,熔断期间,客户端请求将不会被发送到该容器 组。
- 连续5xx错误响应个数:指定连续多少次5xx错误响应时将容器组熔断,只能是正整数
- 检测间隔:设置检测的间隔,单位秒,只能是正整数
- 最短熔断时间:设置最短熔断时间,单位秒,只能是正整数。容器组熔断时间 = 最短熔断时间 * 该容器组被熔断次数
- 最大熔断比例:设置最大熔断比例,只能是1-100的整数。可熔断容器组数 = 总容器组数 * 最大熔断比例。当计算结果不是整数时,将自动向下取整
如图 1所示:图 1. 流量治理


链路追踪
概述
链路追踪集成Jager,提供服务之间的调用链查询,全方位监控调用链中服务的调用状态、调用耗时等关键指标,帮助用户了解业务请求链路中各节点的响应情况,以便快速定位问题及问题发生的模块。
Note: 要在集群中使用微服务治理功能,需要先在集群部署微服务治理组件,可在创建集群时开启微服务治理组件,或进入集群详情页功能组件列表部署。





