灰度服务配置
本章介绍通过IaC进行灰度服务配置的管理,包括灰度规则的管理及灰度阶段切换。对应的资源类型为WiseCloud::LoadBalancer::GrayConfig。
灰度路由引擎 |
对应ruleType |
---|---|
SLB(>1.3.11) |
SLB |
微服务 |
MicroService |
DMQ |
DMQ |
分布式Job |
Job |
函数 |
Function |
参数名 |
是否必选 |
说明 |
---|---|---|
ruleType |
是 |
类型:SLB、MicroService、Job、DMQ、Function。 |
currentStage |
否 |
当前阶段,>=1,<=sizeOf(Stages),默认为1。 |
currentStatus |
否 |
当前状态,取值为Processing、Pause、Complete,默认为Complete。 |
functionName |
否 |
RuleType为Function时必填,否则无效,长度<=200。 |
functionAliasName |
否 |
RuleType为Function时必填,否则无效,长度<=255。 functionAliasName别名不能重复,一个别名只能有一条记录。 |
routeFlag |
否 |
取值为Default/Special,默认为Default。 |
Stages |
是 |
灰度阶段 |
参数名 |
是否必选 |
说明 |
---|---|---|
stageIndex |
否 |
阶段编号,最好按照顺序填写1 , 2 , 3 , 4… ,缺省为0 ,后台会排序后,按顺序赋值为1.2.3.4….。 |
greyRuleRelation |
否 |
取值为or或and RouteType为SLB时必选,不为SLB时无效。 |
rules |
否 |
RouteType为SLB时必选,不为SLB时无效。 |
groupRelation |
否 |
取值为or或and RouteType不为SLB时必选,为SLB时无效。 |
userExtendedParameter |
否 |
RouteType为Job时有意义,非必选,不为job时无效,必须是json字符串格式。 |
groups |
否 |
RouteType为非SLB时必选,为SLB时无效。 |
参数名 |
是否必选 |
说明 |
---|---|---|
param |
是 |
参数名variable为percent时可以为空,否则不能为空,长度<=50。
|
variable |
是 |
|
position |
否 |
位置
|
match |
是 |
匹配方法
|
values |
是 |
匹配值列表,多个值逗号分隔
|
参数名 |
是否必选 |
说明 |
---|---|---|
groupIndex |
否 |
建议按照顺序填写0,1,2,3,4… 不写默认从0开始排序,按顺序赋值为0,1,2,3,4….。 |
greyRuleRelation |
是 |
取值为and或or |
microServiceVersion |
否 |
微服务版本号,MicroServiceVersion和useInstanceProperty二选一。 Function类型可以两个都不选,DMQ类型只支持版本号。 如果配置组之间关系为与,各个配置组的版本号相同。 长度<=50 |
useInstanceProperty |
否 |
微服务自定义灰度参数,MicroServiceVersion和useInstanceProperty二选一。 Function类型可以两个都不选,DMQ类型只支持版本号。 长度<=50 |
rules |
是 |
灰度规则列表 |
SLB类型样例:
- name: clf_iac3.0_example_gray_SLB // name+type唯一定位到一个灰度服务资源 type: 'WiseCloud::LoadBalancer::GrayConfig' //资源类型为灰度服务配置 properties: ruleType: SLB stages: - stageIndex: 1 rules: - param: path values: '5555' match: equal variable: path position: path greyRuleRelation: or
微服务类型样例:
- name: clf_iac3.0_example_gray_MicroService type: 'WiseCloud::LoadBalancer::GrayConfig' properties: currentStatus: Processing ruleType: MicroService stages: - stageIndex: 1 groupRelation: or groups: - microServiceVersion: latest rules: - param: aaa values: '111' match: equal variable: custom groupIndex: 1 greyRuleRelation: or
DMQ类型样例:
- name: clf_iac3.0_example_gray_DMQ type: 'WiseCloud::LoadBalancer::GrayConfig' properties: ruleType: DMQ stages: - stageIndex: 1 groupRelation: and groups: - microServiceVersion: gray_1 rules: - param: aaa values: '2222' match: pattern variable: custom - param: bbb values: '1111' match: equal variable: custom groupIndex: 1 greyRuleRelation: or
Job类型样例:
- name: clf_iac3.0_example_gray_Job type: 'WiseCloud::LoadBalancer::GrayConfig' properties: ruleType: Job stages: - stageIndex: 1 groupRelation: or groups: - microServiceVersion: last rules: - param: ccc values: ccc match: equal variable: custom position: '' groupIndex: 1 greyRuleRelation: or - stageIndex: 2 groupRelation: or groups: - microServiceVersion: last rules: - param: ddd values: ddd match: tailEqual variable: custom groupIndex: 1 greyRuleRelation: or
Function类型样例:
- name: clf_iac3.0_example_gray_Function type: 'WiseCloud::LoadBalancer::GrayConfig' properties: functionAliasName: >- wisefunction:222cn:iot:mcb1fbf087634f199f3a4251c5b8a91e:function:pyd:quanzhong2wisefunction:cn:iot:mcb1fbf087634f199f3a4251c5b8a91e:function:pyd:quanzhong2wisefunction:cn:iot:mcb1fbf087634f199f3a4251c5b8a91e:function:pyd:quanzhong2 functionName: pyd ruleType: Function stages: - stageIndex: 1 groupRelation: or groups: - rules: - param: appid values: '123456,22222' match: equal variable: custom groupIndex: 1 greyRuleRelation: or