版本 v2.0.6
模块:网站里面的负载均衡的api接口
/api/v2/websites/lbs/update
“servers”: [
{
“failTimeout”: “”,
“flag”: “”,
“maxConns”: 0,
“maxFails”: 0,
“server”: “127.0.0.1:26688”,
“weight”: 1
},
{
“failTimeout”: “”,
“flag”: “”,
“maxConns”: 0,
“maxFails”: 0,
“server”: “127.0.0.1:26689”,
“weight”: 1
}
],
建议:1.weight=0 要能生效
2.也可以单个节点有上线下线的开关,而不是每次都要整体update,就是加多一个小节点的更新api,谢谢。
目前的只能整体更新,多节点同时部署时,update可能会有问题,没法实现顺滑的多节点互不干扰的更新上下线。
就是我能一个节点一个节点的上下线,现在是只能整体的上下线。当我有多个节点同时部署时,就会有问题,因为我不清楚哪些节点已经可以上线了,在使用apisix的时候,我可以通过这样的方式进行节点下线上线。
部署某个节点 10.0.12.8 端口26688的节点时,以下是流程:
先切掉流量,下线节点
-d ‘{“upstream”: {“nodes”: {“‘10.0.12.8’:‘26688’”: null}}}’
然后,部署docker应用,应用启动完成后,
上线这个节点
-d ‘{“upstream”: {“nodes”: {“‘10.0.12.8’:‘26688’”: 1}}}’
看到上面的参数吗,第二个参数是null或者0是下线,1是上线,这样就不需要多个节点同时编辑了,在1panel的api里面是没办法这样更新upstream 的lbs的。因为我节点只需要维护自己的节点,它是不需要知道我到底做了多少个负载均衡的。
在devops时,这个只维护自己节点的上下线是平滑更新的保障。
现在的weight=0在api提交后,直接去除了这个参数了。本来weight=0也是切流量的意思。
明显提交后的数据是不对的,少了这个weight=0
实际上经过api提交后变成了这样
upstream newapiups {
server 127.0.0.1:26688;
server 127.0.0.1:26689 weight=1;
}
这样节点还是有流量的。
也没法单个进行更新,只能整体,这样我要做 动态扩容就没法做
另外,我想调整单个weight,也可以直接通过该节点,在devops层面的节点上,就可以做到weight动态调整权重。kong 的adminapi里面也是支持这个的。