【问题标题】:Azure Traffic Manager and Kubernetes Service showing DegradedAzure 流量管理器和 Kubernetes 服务显示已降级
【发布时间】:2019-09-18 11:08:01
【问题描述】:

我们正在尝试在我们的 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 上/所以它再次退化(是的,我知道听起来很奇怪)。

即使这样有效,我也不想将其指向特定的 pod 端点,以防万一由于某种原因而真正停机。我们可以在入口控制器配置中做些什么来使其响应 200,以便流量管理器知道它已启动?

干杯

【问题讨论】:

标签: kubernetes kubernetes-ingress azure-traffic-manager


【解决方案1】:

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

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

【讨论】:

  • 从来没有注意到 TCP 选项,我已经切换到该选项,现在它已经上线了。可能仍会寻找一种方法来检查入口控制器,但目前还可以
【解决方案2】:

为什么不在托管应用的同一个 pod 而不是不同的 pod 上公开一个简单的健康检查端点?如果您部署了一个解决方法以从入口控制器返回 http 200,并且如果后端关闭,那么流量仍将被路由,这会破坏进行探测的理由。

【讨论】:

    猜你喜欢
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 2021-12-19
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多