显示降级的 Azure 流量管理器和 Kubernetes 服务

Azure Traffic Manager and Kubernetes Service showing Degraded

我们正在尝试在我们的 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。

我玩过自定义主机 header 设置,将它们指向 pods 中的健康检查端点,它确实有点工作,但后来它似乎又回到了在 / 上执行 GET,因此它再次降级(是的,我知道这听起来很奇怪)。

即使这有效,我也真的不想将它指向特定的 pod 端点,以防万一由于某种原因确实出现故障。我们可以在入口控制器配置中做些什么来让它以 200 响应,以便流量管理器知道它已经启动了吗?

干杯

我建议您切换到基于 TCP 的探测以快速修复。可以将协议更改为 TCP 并选择 AKS 侦听的端口。

如果端口的3次握手失败,则认为探测失败。

为什么不在托管应用程序的同一个 pod 而不是不同的 pod 上公开一个简单的健康检查端点?如果您从入口控制器部署到 return http 200 的解决方案,并且如果后端已关闭,那么流量仍将被路由,这就没有理由进行探测。