我创建了一个带有负载平衡器的 vmss 和为 http 80 地址配置的探针/
。
我现在已经使用专用的活动路由更新了我的应用程序,例如/api/alive
,它可以更快地回复基本 url,这就是我想用作负载平衡规则的探针的那个。
我已经用新的探测详细信息更新了我的模板(基础是https://github.com/Azure/vm-scale-sets/blob/master/preview/upgrade/autoupdate.json),但我不断收到以下信息错误:
"error": {
"code": "CannotModifyRuleUsedByProbeUsedByVMSS",
"message": "Load balancer rule /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Network/loadBalancers/RESNAME-lb/loadBalancingRules/webhttpslb cannot be modified because it references the load balancer probe /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Network/loadBalancers/RESNAME-lb/probes/saProbe that used as health probe by VM scale set /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Compute/virtualMachineScaleSets/RESNAME. To make changes to this rule, please update VM scale set to remove the reference to the probe.",
}
无论我尝试哪种方式,删除所有探针,仅修改探针的详细信息,我都会不断收到此错误。
我们是否打算让规模集中的所有 VM 来更新探测?还有其他方法吗?非常感谢您提前提供的任何帮助。
更新
之前的模板:https ://pastebin.com/YisgUbRk
之后的模板:https ://pastebin.com/2VmgPMur
我正在尝试用saProbe
规则和 VMSS替换规则httpProbe
和sshProbe
VMSS。
我也尝试将 VMSS 探测保留为saProbe
并将其添加httpProbe
到 LB 规则中,但这也不起作用,得到了同样的错误。
这是 saProbe https://pasteboard.co/HuKMcwA.png的当前设置,它们与粘贴后的内容相匹配。
更新 2
试图保持saProbe
LB 规则,但将 VM 探测更改为sshProbe
,结果相同,webhttpslb
规则错误相同。
关于如何优雅地更换探头的任何建议?没有负载均衡和虚拟机停机时间?
更新 3
尼尔,确实是正确的(好地方!)还有一个我没有注意到的额外变化。
但是,现在很明显,我实际上想要实现的目标可能是不可能的。我将 saProbe 保留在 LB 规则上,但将 VMSS 探针更改为sshProbe
并收到此错误:
"error": {
"details": [],
"code": "CannotUseInactiveHealthProbe",
"message": "VM scale set /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Compute/virtualMachineScaleSets/RESNAME cannot use probe /subscriptions/SUBID/resourceGroups/GROUPNAME/providers/Microsoft.Network/loadBalancers/RESNAME-lb/probes/sshProbe as a HealthProbe because load balancing rules (weblb, webhttpslb) that send traffic to the scale set IPs in backend address pools (RESNAME-bepool) do not use this probe."
}
谁能证实这一点?如果我添加一个虚拟规则来激活sshProbe
? 这种情况的最佳实践是什么?
更新 4
是的,首先从 VMSS 中移除探针是关键。不得不运行模板几次,但现在最终只包括httpProbe
附加到规则和 VMSS。