簡體   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