上一節我們安裝和配置了 flannel,本節在 Docker 中使用 flannel。

配置 Docker 連接 flannel

編輯 host1 的 Docker 配置文件 /etc/systemd/system/docker.service,設置?--bip??--mtu

這兩個參數的值必須與 /run/flannel/subnet.env 中?FLANNEL_SUBNET?FLANNEL_MTU?一致。

重啟 Docker daemon。

systemctl daemon-reload

systemctl restart docker.service

?

Docker 會將 10.2.40.1 配置到 Linux bridge docker0 上,并添加 10.2.40.0/24 的路由。

host2 配置類似:

--bip=10.2.17.1/24

--mtu=1450

?

當前環境網絡拓撲如圖所示:

290.png

可見:flannel 沒有創建新的 docker 網絡,而是直接使用默認的 bridge 網絡。同一主機的容器通過 docker0 連接,跨主機流量通過 flannel.1 轉發。

將容器連接到 flannel 網絡

在 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 網絡的連通和隔離特性。

二維碼+指紋.png