本文分享自華為雲社群《【理解雲容器網路】5-CCE叢集VPC模型容器網路走線介紹》,作者:可以交個朋友。
簡介
鑑於在CCE叢集使用VPC網路模型,處理遇到的一些網路問題時,需要熟悉不同場景下資料包的流轉過程,才能快速的解決問題。本文主要介紹CCE叢集VPC網路模式下各種訪問場景介紹。
VPC網路模型不同訪問場景走線
VPC網路模型下,容器子網不屬於VPC網段,跨節點容器互訪除了隧道封裝還可以透過路由實現,需要為每個節點劃分固定的容器子網,比如節點Node1上所有容器ip都在子網172.16.0.0/25內,VPC路由表將目的ip屬於172.16.0.0/25子網的資料包全部轉給節點Node1處理,Node1收到資料包再根據系統路由錶轉給具體的容器。同時為了使容器能訪問VPC以外的ip地址,在CCE叢集內做了Yangtse白名單處理,如果容器訪問目的ip在白名單內,容器請求資料包出節點前不會做SNAT;反之會將資料包的源ip轉換成節點ip,Yangtse白名單預設有三個網段(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)。
同節點容器互訪
訪問說明:
容器的eth0網口是節點eth0的子介面,內部互通是子介面之間的報文轉發,這個轉發就是核心的虛擬網路的收發處理函式和緩衝佇列處理,實際上不經過節點網路卡的收發佇列和網路名稱空間。同節點容器訪問容器不涉及SNAT和DNAT
跨節點容器訪問容器
訪問說明:
發起請求時,源ip為10.0.0.133,目的ip為10.0.0.7。服務端容器接收的資料包,其源地址是10.0.0.133 ,目的地址為10.0.0.7。跨節點容器訪問容器不涉及SNAT 和 DNAT
容器訪問ClusterIP
訪問說明:
發起請求時,源ip為10.0.0.133,目的ip為10.247.4.15。服務端容器接收的資料包,其源地址是192.168.0.74,目的地址為10.0.0.2。容器訪問ClusterIP涉及DNAT 和 SNAT。
容器訪問外部EIP
訪問說明:
發起請求時,源ip為10.0.0.33,目的ip為100.85.116.151,服務端主機接收的資料包源IP為192.168.0.157,目的ip為100.85.116.151。容器訪問EIP涉及SNAT轉換,不涉及DNAT
節點訪問容器
訪問說明:
發起請求時,源ip為192.168.0.74,目的ip為10.0.0.2,服務端容器接收的資料包源IP為192.168.0.174,目的ip為10.0.0.2。節點訪問容器不涉及SNAT和DNAT轉換。
與線下IDC網路打通
訪問說明:
VPC網路模型,容器訪問VPC外的ip若不在Yangtse白名單(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)內,請求資料包出節點前會做SNAT,將資料包的源ip轉換成節點ip,響應包進入節點後經過conntrack還原,將資料包的目的ip轉換成容器ip。如果線下機房想獲取雲上容器的ip,需要給SRE提單將線下IDC的目標網段加入到Yangtse白名單中。
點選關注,第一時間瞭解華為雲新鮮技術~