繁体   English   中英

Azure aks 节点停止到特定 ip 的出口流量

[英]Azure aks node stops egress traffic to specific ip

我们有一个应用程序托管在 azure 和 kubernetes 集群上。 It is basically a web application which uses a java back-end with an nginx container set up as a reverse proxy to direct http traffic. 大部分流量被路由到后端服务,但我们将几个端点引导回我们的本地应用程序实例(使用公共域)。

这种设置在相当稳定的流量负载下运行了大约一周,然后突然停止代理流量到我们的本地资源。 我们最初认为有人更改了防火墙设置,但进一步的测试表明问题与托管 nginx 代理的单个节点有关。

我能够将 ssh 插入节点并尝试使用公共 http 地址访问我们的本地服务器失败。 但是,我可以访问 Internet 上的任何其他站点,包括我们在其他 ip 地址上托管的站点。 如果我 ssh 到另一个节点,我可以毫无问题地访问我们的本地托管站点。 似乎我们的节点正在阻止或被阻止访问我们的站点,但我们找不到负责的机制。 afaik 没有发生防火墙或配置更改。 Azure aks 文档说 http 流量出口没有默认限制。 有没有人遇到过这个问题?

这是我们的 nginx 配置中的一个块,它将请求代理到我们的本地实例:

    location /civix/content/oic {
        proxy_pass $on_prem_site;
        proxy_set_header Host $server_name;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_intercept_errors on;
    }

由于您能够从行为不端的节点连接到其他站点,我将假设这不是解析 DNS 名称的问题,并且在成功查找 DNS 后,您根本无法连接到本地应用程序。 有关无法访问本地应用程序的任何其他详细信息都会有所帮助。

要获得即时反馈,请尝试关闭proxy_intercept_errors中的 proxy_intercept_errors 设置,看看是否可以为您提供更多有用的信息。

检查本地应用程序是否正在限制/阻止与故障节点的出口关联的 IP 地址。 如果您无权访问本地应用程序,请尝试将 ngingx 代理服务移动到新节点(使用节点关联来定位“好”节点 - https://docs.microsoft.com/en-us/ azure/aks/operator-best-practices-advanced-scheduler#control-pod-scheduling-using-node-selectors-and-affinity )。

流量可能会再次开始流动,这将验证理论,同时您对本地应用程序的阻塞进行故障排除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM