2016-06-15 45 views
0

我們在Kubernetes中運行了很多應用程序,並使用HAProxy和使用LetsEncrypt生成的證書處理吊艙內的TLS終止。在內部解析Kubernetes服務的域名

這對於來自Kubernetes集羣外部的流量非常有效,因爲請求使用證書中指定的域名。

但是,對於使用服務名稱進行內部通信 - 使用類似於https:///的URL,URL的主機部分不再與證書中定義的內容匹配,從而導致失敗。

有沒有辦法讓Kubernetes的DNS系統解析完整的域名到一個特定的服務,所以它不會被路由到集羣外?

回答

0

我能想到幾個選項,你可以追求:

  1. 你可以有過境剛剛集羣運行在HTTP而不是HTTPS的,如果你相信你的集羣網絡的安全性的要求。

  2. 您可以讓您的HAProxy實例爲使用SNI的內部請求提供不同的證書。您需要一種方法來生成和分發內部證書,但它可以讓您向客戶端呈現與Kubernetes服務名稱匹配的證書。

  3. 繼續解析FQDN,不用擔心將請求路由出去然後返回到羣集中。這實際上與即將到來的跨集羣服務發現/聯合功能構建到Kubernetes集羣聯合中並沒有什麼不同。

實際上沒有辦法注入/覆蓋外部FQDN解析以返回內部服務IP。