一張圖看懂k8s flannel網路

二進制部署flannel插件,沒有部署cni插件,需要在flannel配置文件指定生成docker網段,然後在docker.service中指定預定義網段,這樣docker0會和flannel處於同一個網段,flanneld會在etcd中給每個node分配一個子網段,然後docker0在此子網段中分配pod ip。這樣保證不同node上的任意一個pod 其ip都不會衝突。
在這裏插入圖片描述
kubeadm部署k8s,使用yaml部署flannel網絡,已經默認安裝cni插件,cni插件的作用其實就是代替docker0的作用。所以docker0的網絡就無所謂衝突不衝突,但是cni只保證通過k8s創建的pod 網絡分配,如果docker自身創建,不會遵守此規則。

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章