1.flannel為了避免ip重複分配,使用etcd解決衝突,目前測試,使用單機版etcd
network:用於指定flannel
位址池, 整個overlay
網路為10.0.0.0/16
網段
subnetlen:用於指定分配給單個宿主機的docker0
的ip
段的子網掩碼的長度
subnetmin:用於指定最小能夠分配的ip
段
sudbnetmax:用於指定最大能夠分配的ip段,在上面的示例中,表示每個宿主機可以分配乙個24位掩碼長度的子網,可以分配的子網從10.0.1.0/24
到10.0.20.0/24
,也就意味著在這個網段中,最多只能有20
臺宿主機backend:用於指定資料報以什麼方式
backend:用於指定資料報以什麼方式**,預設為udp
模式, 這裡使用的是vxlan
模式
3. 安裝flannel:
1)關閉docker:
etcd
分配了乙個子網10.0.12.0/24
, 所以該宿主機上的docker
網路就使用該網段. 所以需要去配置docker0
的配置.flannel
也提供了修改docker0
的網路配置方法, 就是修改docker
的啟動命令指定網路
5.啟動flannel後,會自動生成 /run/flannel/subnet.env 這個檔案
vim /run/flannel/subnet.env
flannel_network=10.0.0.0/16
flannel_subnet=10.0.12.1/24
flannel_mtu=1450
flannel_ipmasq=false
6.vim /run/docker_opts.env
根據flannel生成的配置檔案,來更高docker的配置
9.驗證:
ping
flannel網路設定
目錄 flannel網路模式 vxlan 1.vxlan 在資料報外層封裝vxlan首部,進行傳輸 2.directrouting vxlan中的host gw模式 host gw host gateway 在主機的路由表中建立到其他主機的路由條目,從而實現容器網路跨主機通訊。udp 早期linux...
flannel網路的VXLAN及host gw
flannel network 實現原理 flannel為每個主機提供獨立的子網,整個集群的網路資訊儲存在etcd上。對於跨主機的 目標容器的ip位址,需要從etcd獲取。先上圖,比較直觀 步驟 1 ip資料報被封裝並通過容器的eth0傳送。2 container1的eth0通過veth對與dock...
flannel網路的VXLAN及host gw
vxlan是linux核心本身支援的一種網路虛擬化技術,是核心的乙個模組,在核心態實現封裝解封裝,構建出覆蓋網路,其實就是乙個由各宿主機上的flannel.1裝置組成的虛擬二層網路。由於vxlan由於額外的封包解包,導致其效能較差,所以flannel就有了host gw模式,即把宿主機當作閘道器,除...