網絡模型有了,如何實作呢?
為了保證網絡方案的标準化、擴充性和靈活性,Kubernetes 采用了 Container Networking Interface(CNI)規範。
CNI 是由 CoreOS 提出的容器網絡規範,它使用了插件(Plugin)模型建立容器的網絡棧。
CNI 的優點是支援多種容器 runtime,不僅僅是 Docker。CNI 的插件模型支援不同組織和公司開發的第三方插件,這對運維人員來說很有吸引力,可以靈活選擇适合的網絡方案。
目前已有多種支援 Kubernetes 的網絡方案,比如 Flannel、Calico、Canal、Weave Net 等。因為它們都實作了 CNI 規範,使用者無論選擇哪種方案,得到的網絡模型都一樣,即每個 Pod 都有獨立的 IP,可以直接通信。差別在于不同方案的底層實作不同,有的采用基于 VxLAN 的 Overlay 實作,有的則是 Underlay,性能上有差別。再有就是是否支援 Network Policy。
1.《每天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html
2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html