我们正在尝试在 Azure Kubernetes 服务之上实现流量管理器,以便我们可以在 2 个区域(英国西部和南部(运行群集,并在两个区域之间实现平衡。
实际的流量管理器似乎工作正常,但在 Azure 门户中它显示为已降级,并且在 k8 群集上的入口控制器日志中,我可以看到如下所示的请求
[18/Sep/2019:10:40:58 +0000] "GET / HTTP/1.1" 404 153 "-" "Azure Traffic Manager Endpoint Monitor" 407 0.000 [-]
因此,流量管理器正在触发请求,它命中入口控制器,但它显然无法解析该路径,因此它返回 404。
我玩过自定义主机标头设置,将它们指向 Pod 上的运行状况检查端点,它确实工作了一段时间,但后来它似乎又回到了 GET on/所以它再次降级(是的,我知道听起来很奇怪(。
即使这有效,我也不想将其指向特定的 pod 端点,以防由于某种原因真的关闭。我们可以在入口控制器配置中做些什么来使其响应 200,以便流量管理器知道它已启动?
干杯
我建议您切换到基于 TCP 的探测以快速修复。可以将协议更改为 TCP,并选择 AKS 正在侦听的端口。
如果到端口的 3 次握手失败,则认为探测失败。
为什么不在托管应用的同一容器上公开一个简单的运行状况检查端点,而不是在不同的容器上公开?如果您部署了一个解决方法以从入口控制器返回http 200,并且如果后端关闭,则流量仍将被路由,这破坏了使用探测的原因。