您好,登錄后才能下訂單哦!
為支持容器跨主機通信,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。
接下來修改 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 網絡。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。