Container eth0:eth0它是Overlay网络分配的惟一的IP地址,它是veth pair虚拟设备对,做用是实现点对点的通讯,经过桥接到br0这个网桥中,能够实现不一样 NameSwitch之间容器进行通讯。
br0:它是Overlay默认建立的网桥。
VETP:对VXLAN数据包的封装与街封装。
Container eth1:eth1是容器主机的默认网络,主要提供容器访问外网所提供的服务,走的默认docker网络架构,只不过他建立了docker_gwbridge这个网桥。
docker_gwbridge:docker_gwbridge是容器所建立的网桥它替代了docker0的服务。
eth0:真机网卡与外界网卡链接得真机网卡,它用来转发,容器VXLAN与NAT两种网卡类型的数据包到指定的对端节点。
复制代码
容器Container1 发送数据包 到容器 Container2。node
hostname | ip |
---|---|
node103 | 192.168.44.103 |
node104 | 192.168.44.104 |
为支持容器跨主机通讯,Docker 提供了 overlay driver。Docerk overlay 网络须要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,咱们这里使用 Consul。(Etcd后续再补充)docker
# docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
复制代码
容器启动后,能够经过:http:192.168.44.103:8500访问,如图: 数据库
# vi /usr/lib/systemd/system/docker.service
复制代码
在ExecStart一栏添加:bootstrap
ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store=consul://192.168.44.103:8500 --cluster-advertise=ens33:2376 \
复制代码
--cluster-store 指定 consul 的地址。
--cluster-advertise 告知 consul 本身的链接地址。
复制代码
# systemctl daemon-reload
# systemctl restart docker
复制代码
此时,查看node103:8500 可以看到两个节点的信息centos
[root@node104 ~]# docker network create -d overlay ov_net1
复制代码
[root@node103 ~]# docker run -itd --privileged --name node2 --hostname node2 --net ov_net1 --rm big_computing /usr/sbin/init
root@node104 ~]# docker run -itd --privileged --name node1 --hostname node1 --net ov_net1 --rm big_computing /usr/sbin/init
复制代码
[root@node104 ~]# docker exec -it node1 /bin/bash
复制代码
一样的方法进去node2,也可以ping通node1bash
同时,修改condor_config中添加:
ALLOW_WRITE = *
ALLOW_READ = *
复制代码
同时,修改condor_config中添加:
ALLOW_WRITE = *
ALLOW_READ = *
复制代码
肺炎猖狂,在家闭关!最近,会持续更新本身前期整理的学习资料,你们若是感兴趣的,请点赞,加关注网络