Kubernetes 網路概論詳解
https://medium.com/devops-dev/networking-in-kubernetes-5bc2d574fd95
本篇文章巨細彌遺的解釋 CNI (Container Netwowrk Interface) 這個標準的用途,從最早期的 Docker 到後期 Kubernetes 這不同架構下是怎麼看待容器網路建置這件事情說起。
以 Kubernetes 來說,每個容器的網路基本需求就是
1. 一個不衝突的 IP
2. 能夠跟同節點上的 Pod 互相存取
3. 能夠跟不同節點上的 Pod 互相存取,且最好不需要經過 SNAT 與 DNAT
三個簡單的需求實作上有各種不同的可能性,因此 Kubernetes 則是專心使用介面,將所有的實作都下放給不同的專案,譬如 Cilium, Calico 等。
文章中以 Weave Network 為範例,以 weave network 的 CNI 探討上述流程的運作以及 Kubernetes 與 Kubelet 是如何設定 CNI 來幫容器設定所有網路功能的。

Medium
Networking in Kubernetes
June 17, 2024 944 7