42. Pod To WAN
• 封包從節點出去後,就會依賴 underlay network 去處理
• 雲端環境都有
自
己
的 VPC 架構來把封包網外轉出
• 通常都會有所謂的 NAT Gateway,幫忙封包轉出
• SNAT (Source Network Address Translation)
• 請仔細閱讀每個雲端架構元件的設定,譬如 GCP Cloud NAT
• Static/Dynamic Port Allocation: 影響後端每個 VM 可以產
生
多少條對外
連線,數字太
小
會導致你的新連線被 Cloud NAT 丟棄
42
43. Pod To WAN
• Underlay Network
• K8s 管理
人
員通常沒有權限去存取
• 也不
一
定有
足
夠的網路知識去判別底下的設計與操作
• 簡化除錯
• 可以先簡化成 Node To WAN 先確認看看此步驟是否有問題,若有問題就可以請底層團隊協
助
• 排除容器等無關資訊,讓底層團隊也更好研究
• 若 Node To WAN 順利,但是 Pod To WAN 不順序
• 看看 CNI, Network Policy 以及節點上的防火牆,也可以錄製封包觀察差異
43
47. WAN To Pod
• 這類型的架構很綁定雲端,同時也會有諸多限制要處理
• AWS CNI 會根據節點等級給予限制能夠部署的容器數量
• 由於流量是 LB -> Pod 進來,這部分通常會有相關的 Controller 幫忙處理
• Pod 的變動 (更新, IP 變動) 等資訊是否即時被更新到 LB 上
• 因此若 Controller 有問題,則可能會導致 LB 的流量無法進來
47
48. WAN To Pod
• 若不採
用
這類型的 CNI,則
大
部分都會採
用
NodePort 的
方
式來打通
• 只要流量進入到 Kubernetes,後續的流量就會分成
• Pod to Service (前述探討過)
• Pod to Pod(前述探討過)
• Ingress Controller/Ingress Gateway
• 仰賴每個
工
具本
身
的設定與除錯
48