网站运营
位置:首页>> 网站运营>> Docker overlay 网络搭建的方法

Docker overlay 网络搭建的方法

作者:nasawz  发布时间:2021-07-21 12:24:16 

标签:Docker,overlay,网络搭建

Overlay网络是指通过在现有网络上叠加一个软件定义的逻辑网络,最大程度的保留原有网络,通过定义其上的逻辑网络,实现业务逻辑,解决原有数据中心的网络问题。

快速开始

Docker跨主机网络方案

docker 原生

  1. overlay

  2. macvlan

第三方方案

  1. flannel

  2. weave

  3. calico

之前介绍了Consul搭建集群,所以在此直接选用docker自带的overlay方案来做,和Consul完美结合。

环境准备

参考之前的一篇《Consul 搭建集群》准备三台虚机。


ip
n1172.20.20.10
n2172.20.20.11
n3172.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 <all>
node2 172.20.20.11:8301 alive  server 1.1.0 2     dc1 <all>
node3 172.20.20.12:8301 alive  server 1.1.0 2     dc1 <all>

配置 docker

登录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 网络搭建成功!

来源:https://segmentfault.com/a/1190000015282058

0
投稿

猜你喜欢

  • 最近想把自己的机器用做服务器,因为我对http.conf的内容不够了解,以至自己走了点弯路。现在把这个文件中需要经常修改的几个选项的意思解释
  • 从尊重开发者劳动成果来说,不应该去掉版权信息,但版权信息真的不美观,所以可以换成适合模板的美观的版权信息。同时本方法仅供学习使用,不得用于任
  • 个人认为作为一个站长,做任何的事情,任何的网站都应该有一个发展的规划。网站上线,不能代表什么。就像是小孩子刚刚诞生,那么我们要给他成长的环境
  • 最近看了苹果的发布会,很上头,所以想体验一把Mac系统,感受一下苹果的美,而且听说mac下写代码很香。但是没钱买苹果电脑,诶……首先,打开提
  • 文章标题写的可能有点容易误解,但不知道取个什么名字比较合适,姑且这个就这标题把,还是来个稍微具体点的描述:今日登入我的VPS,发现一个ASP
  • 匿名FTP的设定:匿名FTP若有正确地设定与管理,将是一项很有价值的服务。这份文件的第一节提供一般匿名FTP最起始的设定方式。第二节提出当一
  • 今天继续对美国各主要主机空间商进行特点述评,希望您能在选择过程中有所参考,这个系列将会继续下去,欢迎您的关注!再次说明一下,这些介绍只是个人
  • Apache的Mode Rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。在大多数情况下,它和.htacces
  • 前几天Centos8发布了,尽管他是8的第一个版本,那么今天我们就在VM12上面安装centOS8吧,8这个图形化界面我个人感觉有点丑&nb
  • Anaconda简介     Python是一种强大的编程语言,其提供了很多用于科学计算的模块,常见
  • 我开通了一个独立IP LINUX空间,空间支持伪静态功能。由于网站根目录下安装的是DEDECMS,bbs目录下安装的是论坛,home目录下安
  • 11月13日消息,在距离百度新广告系统百度推广专业版(凤巢)全面推出还有半个月之际。日前,百度商业运营副总裁沈皓瑜就新广告系统凤巢与媒体进行
  • 前言最近项目上需要用到 LED 子系统,在嵌入式 Linux 里面点个灯还是比较简单的,只要在某个灯对应的目录里,向相应文件写入特定值,就可
  • 近期,博客网将隆重推出首个联合运营的网页游戏“博客战三国”,此举同时也意味着博客中文第一生活社区开始全面向游戏业进军。据悉,此款网页游戏是博
  • 在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志。然而,如果让使用者来记住这些毫无记忆规律的IP
  • 事实上,我们一直在谈论的SNS网站并非真正的SNS网站,这些以WebGame来聚拢人气的网站最多只能算是社区——游戏社区,还没有真正上升到S
  • InfoWorld举办的签名挽留Windows XP活动得到的支持数已经超过75000人,微软的生命周期表显示Windows XP将在6月底
  • OpenStack Heat AutoScaling一、背景Openstack的Heat是在H版之后加入的组件,旨在创建一套业务流程,更轻松
  • 万事皆有度,都有其发展和延续的规律,不可太过,这就是度,就是尺度,那么在搜索引擎优化技术中,如何合理的把握这个度,来避免过度优化呢?掌握合理
  • 友情在网络中是一种信任,一种责任,也是一种品德,友情链接就是充满着善意友好的相互合作,在网络中大家更多的讲的应该是共赢,因而友情链接对于网站
手机版 网站运营 asp之家 www.aspxhome.com