转发策略配置-j9九游会登录
本章介绍通过iac进行转发策略配置的管理,包括监听下的转发策略、健康检查、后端服务器及动态路由管理。对应的资源类型为wisecloud::loadbalancer::slb::routerule。
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
listenergroupname |
string |
是 |
slb监听名称,一个转发策略实例只能绑定一个监听实例。 |
|
targetgroups |
list<targetgroupconfigbean> |
否 |
后端集群。 |
|
routes |
list<routerule> |
否 |
转发策略(locations)。 |
|
dynamicroutes |
list<dynamicrouterulebean> |
否 |
动态路由。 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
name |
string |
是 |
后端集群名,不超过150位,不包含特殊字符。 |
|
protocol |
string |
是 |
协议,取值为:http或https。 |
|
loadbalancer |
是 |
后端集群负载均衡类型。 |
|
|
healthcheck |
否 |
健康检查。 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
strategy |
string |
是 |
负载均衡算法,支持"roundrobin"、"protocolparam"、"ip_hash"、"least_conn"。 |
|
slowstartdelay |
int |
否 |
预热时延,不超过30。 |
|
slowstartperiod |
int |
否 |
预热周期,不超过30。 |
|
slowstartfactor |
int |
否 |
预热因子,默认为10,不小于1,不超过100。 |
|
hashparam |
string |
否 |
哈希转发字段名,strategy类型为protocolparam时必填 长度不超过50,由字母加数字,下划线,横杠,点组成。 |
|
customparam |
string |
否 |
自定义参数,不包含by_lua。 |
默认取第一个后端集群的健康检查配置,如果为空,使用默认值。
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
switchstatus |
string |
否 |
是否开启健康检查,取值为on或off,不填或者其他字符均为off。 |
|
protocol |
string |
否 |
协议,默认http,不可修改。 |
|
path |
string |
否 |
检查路径,长度不超过500,由字母、数字、横杠、下划线和点组成。 |
|
successcodes |
string |
否 |
成功码列表,100-600之间的数字,以逗号隔开。 |
|
healthythreshold |
int |
否 |
健康阈值,取值范围2-10,默认为2。 |
|
interval |
int |
否 |
探测间隔时间,取值范围1-50,默认为5。 |
|
timeout |
int |
否 |
探测超时时间,取值范围1-300,默认为10。 |
|
unhealthythreshold |
int |
否 |
不健康阈值,取值范围2-10,默认为3。 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
location |
string |
否 |
转发策略地址,长度不超过500,非中文。 |
|
targetgroup |
string |
否 |
后端集群名,长度不超过150,由字母、数字、下划线、横杠和点组成。 |
|
grayservicename |
string |
否 |
灰度规则 |
|
degradeurl |
string |
是 |
降级url
只有值为defaultdegrade时才为默认降级,其他值均认为是不降级。 |
|
configs |
否 |
通用与高级配置 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
name |
string |
是 |
名称,长度不超过50,由字母、数字、下划线、横杠和点组成,不能包含-in-且不能以-in结尾。 |
|
switchstatus |
string |
是 |
开关,取值为on或off。 |
|
defaulttargetgroup |
string |
是 |
默认后端集群。 |
|
enablegrey |
string |
是 |
默认后端集群是否仍参考灰度进行分流,取值为on/off,默认为off,只有输入on才为打开状态。 |
|
rules |
list<dynamicsubrulebean> |
否 |
动态路由规则。 |
|
locations |
list |
否 |
动态路由关联的转发策略列表。 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
condition |
string |
是 |
名称。 |
|
targetgroup |
string |
是 |
后端集群。 |
|
enablegray |
string |
是 |
是否仍参考灰度进行分流,取值为on/off,默认为off,只有输入on才为打开状态。 |
|
参数名 |
类型 |
是否必选 |
说明 |
|---|---|---|---|
|
proxyreadtimeout |
int |
否 |
响应超时时间,不超过10位的数字。 |
|
proxysendtimeout |
int |
否 |
转发超时时间,不超过10位的数字。 |
|
keepaliveswitch |
string |
否 |
启用长连接转发,是否keepalive。 |
|
hostswitch |
string |
否 |
是否透传请求头,取值为on/off,不填或者其他字符均为off。 |
|
xforwardedforswitch |
string |
否 |
是否追加xff。 |
|
accesslogswitch |
string |
否 |
是否开启access日志,取值为on/off,不填或者其他字符均为off。 |
|
proxynextupstreamswitch |
string |
否 |
是否在异常时尝试下一台机器,取值为on/off,不填或者其他字符均为off。 |
|
proxynextupstreamcondition |
string |
否 |
尝试下一台机器的场景,取值为403、404、429、500、502、503、504、error、timeout、invalid_header。 |
|
clientconnectionfreetime |
int |
否 |
客户端连接空闲时间,不超过10位的正整数。 |
|
proxybuffersswitch |
string |
否 |
开启响应缓存,取值为on/off,不填或者其他字符均为off。 |
|
proxybufferssize |
string |
否 |
响应缓存大小,数字 空格 k/m 组成,默认8 k。 |
|
expiresswitch |
string |
否 |
高级配置中expires开关,取值为on/off,不填或者其他字符均为 off。 |
|
expiressize |
string |
否 |
设定页面缓存时间,不缓存或一直使用缓存。可以由字母、数字、空格、 $@ - 、冒号、逗号组成,长度不超过50位。 |
|
indexpage |
string |
否 |
静态页面场景index页面设置,长度不超过255,非中文。 |
|
returnval |
string |
否 |
固定返回响应码,长度不超过255,非中文。 |
|
allowmethod |
string |
否 |
允许的http方法,对于转发策略有效,对于监听仅为参考,在界面新增转发策略时会继承监听的此项配置,其余场景无效,get、head、post、delete、put、options、patch、mkcol、copy、move、propfind、proppatch、lock、unlock。 |
|
nuwatraceswitch |
string |
否 |
消息头中透传nuwatrace相关的网元身份标识和时间戳。 |
|
command |
string |
否 |
高级配置,自定义参数设置。 不要直接填写转发到某个集群的名称,例如proxy_pass http://upstreamname,这样配置会使得动态加载配置失效。 nginx配置命令,非中文。 |
|
root |
string |
否 |
默认资源根目录,长度不超过500,非中文。 |
|
clientmaxbodysize |
string |
否 |
最大请求体大小,数字 空格 k/m组成。 |
|
clientbodybuffersize |
string |
否 |
请求体buffer大小,数字 空格 k/m 组成。 |
|
addheaders |
list< generalkeyvalueconfigbean> |
否 |
响应头。 |
|
setvals |
list< generalkeyvalueconfigbean> |
否 |
对应页面set。 |
|
proxysetheaders |
list< generalkeyvalueconfigbean> |
否 |
请求头。 |
|
redirects |
list< generalredirectconfigbean> |
否 |
重定向。 |
|
rewrites |
list< generalredirectconfigbean> |
否 |
重写。 |
转发策略模板yaml
- name: hw_test // 必填项,不可修改,不可重复
type: wisecloud::loadbalancer::slb::routerule // 资源类型为转发策略配置
properties:
routes: // 非必填
- targetgroup: group1
grayservicename: grayservce_hw
location: /abc_hw1
degradeurl: undegrade // 必填项,undegrade不降级,defaultdegrade默认降级
configs:
hostswitch: 'off'
addheaders:
- value: b
key: aaa
clientconnectionfreetime: 60
rewrites:
- source: /test
option: break
target: /test_hw
proxyreadtimeout: 60
setvals:
- value: bbb
key: aaa
keepaliveswitch: 'off'
proxybufferssize: 2 m
expiresswitch: 'on'
proxybuffersswitch: 'on'
accesslogswitch: 'on'
clientmaxbodysize: 3 k
clientbodybuffersize: 2 k
expiressize: 2 m
proxynextupstreamcondition: 'error,timeout'
proxysendtimeout: 60
xforwardedforswitch: 'off'
proxynextupstreamswitch: 'on'
allowmethod: 'post,put,delete'
targetgroups: // 非必填
- protocol: http // 必填项
loadbalancer: // 必填项,负载均衡类型
strategy: roundrobin // 必填项,负载均衡策略
healthcheck: // 非必填,健康检查
path: /abc_test
protocol: http // 固定项
successcodes: '200,302'
healthythreshold: '2'
unhealthythreshold: '3'
switchstatus: 'on' // 默认关闭,on为打开,打开时,不传其他参数均使用默认值
name: group1 // 必填项,并且不可重复,长度不超过150,不包含特殊字符
- protocol: http
loadbalancer:
hashparam: $xxx
strategy: protocolparam
customparam: $xxx
healthcheck:
switchstatus: 'off'
name: group2
listenergroupname: zwx_listener1 // 必填项,slb监听名称,一个转发策略实例只能绑定一个监听实例
dynamicroutes: // 非必填
- enablegrey: 'off'
defaulttargetgroup: group1 // 必填并且存在于targetgroups中
name: /abc_test1_hw
locations:
- location: /abc_hw1
rules:
- targetgroup: group1
enablegray: 'off'
switchstatus: 'on'
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨