准備 overlay 網絡實驗環境 - 每天5分鍾玩轉 Docker 容器技術(49)


為支持容器跨主機通信,Docker 提供了 overlay driver,使用戶可以創建基於 VxLAN 的 overlay 網絡。VxLAN 可將二層數據封裝到 UDP 進行傳輸,VxLAN 提供與 VLAN 相同的以太網二層服務,但是擁有更強的擴展性和靈活性。有關 VxLAN 更詳細的內容可參考 CloudMan 在《每天5分鍾玩轉 OpenStack》中的相關章節。

Docerk overlay 網絡需要一個 key-value 數據庫用於保存網絡狀態信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 軟件,我們這里使用 Consul。

實驗環境描述

我們會直接使用上一章 docker-machine 創建的實驗環境。在 docker 主機 host1(192.168.56.104)和 host2(192.168.56.105)上實踐各種跨主機網絡方案,在 192.168.56.101 上部署支持的組件,比如 Consul。

最簡單的方式是以容器方式運行 Consul:

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

容器啟動后,可以通過 http://192.168.56.101:8500 訪問 Consul。

236.png

接下來修改 host1 和 host2 的 docker daemon 的配置文件/etc/systemd/system/docker.service

--cluster-store 指定 consul 的地址。
--cluster-advertise 告知 consul 自己的連接地址。

重啟 docker daemon。

systemctl daemon-reload  

systemctl restart docker.service

host1 和 host2 將自動注冊到 Consul 數據庫中。

准備就緒,實驗環境如下:

下一節創建 overlay 網絡。

二維碼+指紋.png


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM