共計(jì) 528 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
這篇文章給大家介紹如何理解 CNI,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
網(wǎng)絡(luò)模型有了,如何實(shí)現(xiàn)呢?
為了保證網(wǎng)絡(luò)方案的標(biāo)準(zhǔn)化、擴(kuò)展性和靈活性,Kubernetes 采用了 Container Networking Interface(CNI)規(guī)范。
CNI 是由 CoreOS 提出的容器網(wǎng)絡(luò)規(guī)范,它使用了插件(Plugin)模型創(chuàng)建容器的網(wǎng)絡(luò)棧。
CNI 的優(yōu)點(diǎn)是支持多種容器 runtime,不僅僅是 Docker。CNI 的插件模型支持不同組織和公司開發(fā)的第三方插件,這對(duì)運(yùn)維人員來說很有吸引力,可以靈活選擇適合的網(wǎng)絡(luò)方案。
目前已有多種支持 Kubernetes 的網(wǎng)絡(luò)方案,比如 Flannel、Calico、Canal、Weave Net 等。因?yàn)樗鼈兌紝?shí)現(xiàn)了 CNI 規(guī)范,用戶無論選擇哪種方案,得到的網(wǎng)絡(luò)模型都一樣,即每個(gè) Pod 都有獨(dú)立的 IP,可以直接通信。區(qū)別在于不同方案的底層實(shí)現(xiàn)不同,有的采用基于 VxLAN 的 Overlay 實(shí)現(xiàn),有的則是 Underlay,性能上有區(qū)別。再有就是是否支持 Network Policy。
關(guān)于如何理解 CNI 就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。