摘要:快速開始跨主機網絡方案原生第三方方案之前介紹了搭建集群,所以在此直接選用自帶的方案來做,和完美結合。直接檢查網絡列表發現已經在其中。
Docker overlay 網絡搭建
Overlay網絡是指通過在現有網絡上疊加一個軟件定義的邏輯網絡,最大程度的保留原有網絡,通過定義其上的邏輯網絡,實現業務邏輯,解決原有數據中心的網絡問題。快速開始 Docker跨主機網絡方案
docker 原生
overlay
macvlan
第三方方案
flannel
weave
calico
之前介紹了Consul搭建集群,所以在此直接選用docker自帶的overlay方案來做,和Consul完美結合。
環境準備參考之前的一篇《Consul 搭建集群》準備三臺虛機。
ip | |
---|---|
n1 | 172.20.20.10 |
n2 | 172.20.20.11 |
n3 | 172.20.20.12 |
在這三臺虛機上啟動consul并創建集群
n1
[root@n1 vagrant]# consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=node1 -bind=172.20.20.10 -ui -client 0.0.0.0
n2
[root@n2 vagrant]# consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=node2 -bind=172.20.20.11 -ui -client 0.0.0.0 -join 172.20.20.10
n3
[root@n3 vagrant]# consul agent -server -bootstrap-expect 3 -data-dir /etc/consul.d -node=node3 -bind=172.20.20.12 -ui -client 0.0.0.0 -join 172.20.20.10
[root@n1 vagrant]# consul members Node Address Status Type Build Protocol DC Segment node1 172.20.20.10:8301 alive server 1.1.0 2 dc1配置 dockernode2 172.20.20.11:8301 alive server 1.1.0 2 dc1 node3 172.20.20.12:8301 alive server 1.1.0 2 dc1
登錄n1
修改 /etc/sysconfig/docker-network為
# /etc/sysconfig/docker-network DOCKER_NETWORK_OPTIONS=--cluster-store=consul://172.20.20.10:8500 --cluster-advertise=172.20.20.10:2376
其中ip部分為consul容器節點的ip。
在命令行中輸入 docker network create -d overlay myoverlay創建一個名為myoverlay的網絡,并用 docker network ls檢查docker網絡列表
[root@n1 sysconfig]# docker network ls NETWORK ID NAME DRIVER SCOPE 5a8df7650e34 bridge bridge local 8e574df4fb90 docker_gwbridge bridge local d69aab5b2621 host host local 7301c62bca4d none null local [root@n1 sysconfig]# docker network create -d overlay myoverlay 36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c [root@n1 sysconfig]# docker network ls NETWORK ID NAME DRIVER SCOPE 5a8df7650e34 bridge bridge local 8e574df4fb90 docker_gwbridge bridge local d69aab5b2621 host host local 36feac75fb49 myoverlay overlay global 7301c62bca4d none null local
登錄 n2
修改 /etc/sysconfig/docker-network為
# /etc/sysconfig/docker-network DOCKER_NETWORK_OPTIONS=--cluster-store=consul://172.20.20.11:8500 --cluster-advertise=172.20.20.11:2376
這里不用再次新建立myoverlay網絡了,因為他們是一個集群。直接檢查網絡列表
[root@n2 vagrant]# docker network ls NETWORK ID NAME DRIVER SCOPE 9f2b7d40a69f bridge bridge local 1d9ee9546c81 docker_gwbridge bridge local e1f72fa7710c host host local 36feac75fb49 myoverlay overlay global 372109bb13bc none null local
發現myoverlay已經在其中。
同理操作n3
[root@n3 vagrant]# docker network ls NETWORK ID NAME DRIVER SCOPE 14cf16d37c9b bridge bridge local ca426545fedb docker_gwbridge bridge local b57d2f555fa2 host host local 36feac75fb49 myoverlay overlay global fcb5da0380e4 none null local啟動容器 驗證overlay網絡
登錄n1以myoverlay啟動一個busybox的容器
[root@n1 sysconfig]# docker run --network myoverlay busybox
查看busybox容器詳情,在最底部有網絡相關的信息
"Networks": { "myoverlay": { "IPAMConfig": null, "Links": null, "Aliases": [ "e7d558b35607" ], "NetworkID": "36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c", "EndpointID": "6b1c975847b506a151940893e3ac189a7053cb34dda4ec2b5797c93f6eeb3534", "Gateway": "", "IPAddress": "10.0.0.2", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:0a:00:00:02" } }
可以看到網絡是myoverlay ip 為 10.0.0.2
登錄n2myoverlay啟動一個busybox的容器
[root@n2 sysconfig]# docker run --network myoverlay busybox
查看busybox容器詳情,在最底部有網絡相關的信息
"Networks": { "myoverlay": { "IPAMConfig": null, "Links": null, "Aliases": [ "f673ccb5ab32" ], "NetworkID": "36feac75fb49edcf8920ed39109424b833501268942fb563708aa306fccfb15c", "EndpointID": "39f8e9e098ce3faf039aa60e275ec90428f86c6378f5b4c54d8682741e71673f", "Gateway": "", "IPAddress": "10.0.0.3", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:0a:00:00:03" } }
這個busybox的ip為10.0.0.3
進入容器,ping 10.0.0.2
[root@n2 vagrant]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f673ccb5ab32 busybox "sh" 2 minutes ago Up 2 minutes objective_pare [root@n2 vagrant]# docker exec -ti f673ccb5ab32 /sh / # ping 10.0.0.2 PING 10.0.0.2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: seq=0 ttl=64 time=1.309 ms 64 bytes from 10.0.0.2: seq=1 ttl=64 time=0.535 ms 64 bytes from 10.0.0.2: seq=2 ttl=64 time=1.061 ms 64 bytes from 10.0.0.2: seq=3 ttl=64 time=0.764 ms ^C --- 10.0.0.2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.535/0.917/1.309 ms
ping 是通的, overlay 網絡搭建成功!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27355.html
摘要:介紹的集群的自動發現有兩種方式與本文使用的是的方式準備安裝以上版本初始化集群創建一個名為的網絡開放端口初始化集群部份可看我之前的博客使用搭建多主機集群創建網絡查看當前的網絡也是一個網絡可以跨主機通信本教程會創建一個新的創建網絡 介紹 docker 1.12 的swarm 集群的自動發現有兩種方式, virtual IP address (VIP) 與 DNS round-robin, ...
摘要:后續將其他節點加入集群都會用到這個值將節點加入集群查看節點信息相關命令創建服務更新服務刪除服務減少服務實例增加服務實例查看所有服務查看服務的容器狀態查看服務的詳細信息。前言本篇是Docker第十三篇,Docker的使用至此就介紹完成,接下來繼續Kubernetes。Docker系列文章:為什么要學習DockerDocker基本概念Docker鏡像基本原理Docker容器數據卷Dockerfi...
摘要:原文地址介紹如何使用的機制,自動發現并抓取網絡中的容器所提供的指標。我們需要一種動態發現容器的方法。使用的機制,半自動的發現容器。文章最開始說到的半自動就是這個意思,我們得事先知道記錄有哪些,然后讓去發現這些記錄背后對應的容器有哪些。 原文地址 介紹如何使用Prometheus的dns service discovery機制,自動發現并抓取Docker swarm overlay網絡中...
摘要:阿里云的容器服務采用的是的模式,集成了阿里云的一些基礎服務日志監控存儲等,在調度等方面做了很多優化,你也可以使用看看。容器服務提供了針對阿里云的的插件,容器之間的數據包不需要封裝操作,性能幾乎和內兩臺通信性能一樣。 Docker 引起了交付方式的變革,從交付代碼和文檔變成交付Docker鏡像乃至交付編排模板。容器服務讓我們可以專注應用本身功能的開發,而無需關注基礎設施、應用部署、管理等...
摘要:阿里云的容器服務采用的是的模式,集成了阿里云的一些基礎服務日志監控存儲等,在調度等方面做了很多優化,你也可以使用看看。容器服務提供了針對阿里云的的插件,容器之間的數據包不需要封裝操作,性能幾乎和內兩臺通信性能一樣。 Docker 引起了交付方式的變革,從交付代碼和文檔變成交付Docker鏡像乃至交付編排模板。容器服務讓我們可以專注應用本身功能的開發,而無需關注基礎設施、應用部署、管理等...
閱讀 1294·2021-10-08 10:05
閱讀 4107·2021-09-22 15:54
閱讀 3105·2021-08-27 16:18
閱讀 3106·2019-08-30 15:55
閱讀 1435·2019-08-29 12:54
閱讀 2748·2019-08-26 11:42
閱讀 543·2019-08-26 11:39
閱讀 2128·2019-08-26 10:11