本文分享自華爲雲社區《CCE集羣中容器出網總結》,作者:可以交個朋友。
一 背景
針對CCE集羣和CCE turbo集羣中的容器訪問外部網絡進行總結
二 容器出網簡介
使用EIP服務綁定特定節點、容器IP地址 或者使用SNAT網關對特定子網進行NAT源地址進行轉換從而實現容器出網。
2.1 CCE 標準集羣
集羣工作節點綁定EIP,位於節點上的POD就可以通過宿主機的網卡進行出網。
集羣工作節點對應的Subnet關聯SNAT網關,節點通過SNAT網關出網。(建議選擇此種方式)2.2 CCE turbo 集羣
POD綁定EIP(節點綁沒有用),容器直接出網
POD對應的Subnet關聯SNAT網關,pod通過SNAT網關出網。(建議選擇此種方式)三 實踐
以CCE turbo集羣爲例,如果集羣中POD需要訪問公網,則需要綁定EIP或者配置SNAT。大規模場景下,每個POD配置EIP,會造成資源的大量浪費,已經管理成本的上升。所以大部分情況下都是配置SNAT規則進行容器的出網。
確認POD網段
如下圖所示,正在運行的pod使用的是subnet-container01
這個子網
未添加SNAT時訪問公網
登錄容器,執行命令curl -I -m 10 www.baidu.com
可以發現此時POD沒有出網能力,訪問公網失敗。
給對應容器子網添加SNAT出網規則
容器訪問公網
登錄容器,執行命令curl -I -m 10 www.baidu.com
訪問成功。