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

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

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。bootstrap

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

 

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

容器啓動後,能夠經過 http://192.168.56.101:8500 訪問 Consul。rest

236.png

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

--cluster-store 指定 consul 的地址。
--cluster-advertise 告知 consul 本身的鏈接地址。server

重啓 docker daemon。部署

 

systemctl daemon-reload  get

systemctl restart docker.service

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

準備就緒,實驗環境以下:

下一節建立 overlay 網絡。

二維碼+指紋.png

相關文章
相關標籤/搜索