我們正在擴大我們的微服務羣應用程序,我正在考慮Kubernetes滿足我們的需求。我潛入現代配器之前,我想通過以下方式服務發現:Kubernetes - 內部負載平衡安全
- 集羣的自舉了某種分佈式服務註冊(在我們的例子領事)的
- 每個服務與服務註冊表啓動端點莫名其妙
- 通過每個服務自行註冊本身在註冊表
- 每當服務需要一些其他服務的地址,它將從註冊表中的接觸點
在這種情況下,如果有任何服務失敗或某種網絡中斷髮生,客戶端服務可能會繼續執行下一個聯繫點並最終成功(如果它未完全中斷)。至於我已經明白,kubernetes使用完全不同的模式:
- 在kubernetes所有艙體自行註冊
- Kubernetes提供單一的負載平衡器例如,通過傳遞流量服務
- 負載均衡本身可能被發現通過環境變量或DNS查詢(這可能會導致令人毛骨悚然的東西,如從DNS記錄獲取端口或只是陳舊的環境變量)
而這讓我感到困惑。如果我是正確的(隨時告訴我我不是,如果是這種情況),這基本上將負載平衡器轉換爲SPOF,可能會停止整個應用程序在它死亡的那一刻。我對嗎? Kubernetes有任何保證,這種情況不會發生或將在<N> <時間單位>解決?
我現在很困,但我想我明白了。我想問的最後一件事情 - iptables的實現總是路由到相同的後端,直到重新配置,對吧? – Etki
單個連接將路由到相同的後端,但多個連接將進行負載平衡。對於每個後端,kube-proxy配置iptables w /'-m statistic --mode random --probability {1/N}',其中N是後端的數量。 –