(十三)在 Docker 中使用 flannel
上一節我們安裝和配置了 flannel,本節在 Docker 中使用 flannel,
(1)配置 Docker 連接 flannel
編輯 host1 的 Docker 組態檔 /etc/systemd/system/docker.service,設定 --bip 和 --mtu,
--bip=10.2.50.1/24 --mtu=1450
這兩個引數的值必須與 /run/flannel/subnet.env 中 FLANNEL_SUBNET 和FLANNEL_MTU 一致,
root@host1:~# cat /run/flannel/subnet.env
FLANNEL_NETWORK=10.2.0.0/16
FLANNEL_SUBNET=10.2.50.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=false
root@host1:~#
重啟 Docker daemon,
systemctl daemon-reload
systemctl restart docker.service
Docker 會將 10.2.50.1 配置到 Linux bridge docker0 上,并添加 10.2.50.0/24 的路由,
ip route
host2 配置類似:
--bip=10.2.2.1/24 --mtu=1450
root@host2:~# cat /run/flannel/subnet.env
FLANNEL_NETWORK=10.2.0.0/16
FLANNEL_SUBNET=10.2.2.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=false
當前環境網路拓撲如圖所示:
可見:flannel 沒有創建新的 docker 網路,而是直接使用默認的 bridge 網路,同一主機的容器通過 docker0 連接,跨主機流量通過 flannel.1 轉發,
(2)將容器連接到 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,
docker exec bbox1 ip route
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/234719.html
標籤:其他
