上一節咱們安裝和配置了 flannel,本節在 Docker 中使用 flannel。docker
編輯 host1 的 Docker 配置文件 /etc/systemd/system/docker.service,設置 --bip
和 --mtu
。網絡
這兩個參數的值必須與 /run/flannel/subnet.env 中 FLANNEL_SUBNET
和FLANNEL_MTU
一致。spa
重啓 Docker daemon。rest
systemctl daemon-reloadcode
systemctl restart docker.serviceip
Docker 會將 10.2.40.1 配置到 Linux bridge docker0 上,並添加 10.2.40.0/24 的路由。路由
host2 配置相似:it
--bip=10.2.17.1/24容器
--mtu=1450配置
當前環境網絡拓撲如圖所示:
可見:flannel 沒有建立新的 docker 網絡,而是直接使用默認的 bridge 網絡。同一主機的容器經過 docker0 鏈接,跨主機流量經過 flannel.1 轉發。
在 host1 中運行容器 bbox1:
docker run -itd --name bbox1 busybox
在 host2 中運行容器 bbox2:
docker run -itd --name bbox2 busybox
bbox1 和 bbox2 的 IP 分別爲 10.2.40.2 和 10.2.17.2。
下一節咱們討論 flannel 網絡的連通和隔離特性。