跨主机网络-overlay(18)
docker overlay跨主机网络 .环境 docker版本
Docker version 18.02.-ce, build fc4de44 3台主机
192.168.55.51 host1
192.168.55.52 host2
192.168.55.53 host2 .部署Consul Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。
在 docker 主机 host1 上部署支持的组件,比如 Consul
docker run -d -p : -h consul --name consul progrium/consul -server -bootstrap 容器启动后,可以通过 http://192.168.55.51:8500 访问 Consul。 .修改docker启动项并重启docker(3台上操作)
#修改docker daemon 的配置文件/etc/systemd/system/docker.service [root@host1 ~]# cat /etc/systemd/system/docker.service.d/-machine.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver devicemapper --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic --registry-mirror http://db411c61.m.daocloud.io --cluster-store=consul://192.168.55.51:8500 --cluster-advertise=192.168.55.51:2376
Environment= #配置说明
--cluster-store 指定 consul 的地址。
--cluster-advertise 告知 consul 自己的连接地址。(即docker的连接,2376为docker的端口) #重启docker
systemctl daemon-reload
systemctl restart docker .查看host1 和 host2、host3 将自动注册到 Consul 数据库中
访问http://192.168.55.51:8500
查看key/value==docker==nodes/ (可以看到3台主全部注册上来了) .在 host1 中创建 overlay 网络 ov_net1
docker network create -d overlay ov_net1
-d overlay 指定 driver 为 overaly。
docker network ls
查看当前网络:
[root@host1 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
8925d1ce67ad bridge bridge local
0fb41307416f host host local
fc3f61663c71 none null local
cb5cce10b030 ov_net1 overlay global
注意到 ov_net1 的 SCOPE 为 global,而其他网络为 local。在 host2 上查看存在的网络:
host2 上也能看到 ov_net1。这是因为创建 ov_net1 时 host1 将 overlay 网络信息存入了 consul,host2 从 consul 读取到了新网络的数据。之后 ov_net 的任何变化都会同步到 host1 和 host2、host3。 docker network inspect ov_net1
查看 ov_net1 的详细信息:
[root@host1 ~]# docker network inspect ov_net1
[
{
"Name": "ov_net1",
"Id": "cb5cce10b0301720ded000830038183c9752448a77c4010f6d1e194923bf1ef7",
"Created": "2018-03-20T15:43:52.509618103+08:00",
"Scope": "global",
"Driver": "overlay",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "10.0.0.0/24",
"Gateway": "10.0.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
] IPAM 是指 IP Address Management,docker 自动为 ov_net1 分配的 IP 空间为 10.0.0.0/。 .运行一个 busybox 容器并连接到 ov_net1
host1
docker run -tid --name bbox1 --network ov_net1 busybox #查看容器的网络配置:
docker exec bbox1 ip r
host2
docker run -tid --name bbox2 --network ov_net1 busybox #查看容器的网络配置:
docker exec bbox2 ip r #查看网络互通
host1上查看
docker exec bbox1 ping -c bbox2
跨主机网络-overlay(18)的更多相关文章
- centos7下安装docker(15.2跨主机网络-overlay)
为支持容器跨主机通信,Docker提供了overlay driver,使用户可以创建基于VxLAN的overlay网络.VxLAN可将二层数据封装到UDP进行传输,VxLAN提供与VLAN相同的以太网 ...
- Docker 跨主机网络 overlay(十六)
目录 一.跨主机网络概述 二.准备 overlay 环境 1.环境描述 2.创建 consul 3.修改 docker 配置文件 4.准备就绪 三.创建 overlay 网络 1.在 host1 中创 ...
- Docker跨主机网络——overlay
前言 在Docker网络--单host网络一文中,我为大家总结了Docker的单机网络相关知识和操作,单机网络比较容易.本文我为大家总结Docker跨主机通信相关知识.同样本文大部分内容以CloudM ...
- docker容器跨主机网络overlay
前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1 主机名mcw510.0.0.134 host2 主机名mcw6host1与 ...
- 跨主机网络overlay和macvlan模型
overlay网络模型 无论是openstack还是docker都是先创建一个网络然后再创建虚机或者容器 并把创建的虚机或者容器运行在此网络中 Docker 提供了 overlay driver,使 ...
- Docker系列04—跨主机网络方案(overlay/weave)
在前面详细讲解了几种网络模式:none,host,bridge,container.他们解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信. 跨主机网络方案包括两大类: 1,docke ...
- 跨主机网络概述 - 每天5分钟玩转 Docker 容器技术(48)
前面已经学习了 Docker 的几种网络方案:none.host.bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题.本章的重点则是讨论跨主机容器间通信的方 ...
- [Kubernetes]谈谈容器跨主机网络
继上篇文章:[Kubernetes]浅谈容器网络,自己给自己挖的坑,这篇文章来谈谈容器跨主机网络. 要理解容器"跨主通信"的原理,就要来谈谈 Flannel 这个项目. Flann ...
- Docker 跨主机网络
Docker提供两种原生的跨主机网络: Overlay 和 Macvlan libnetwork & CNM libnetwork 是 docker 容器网络库,最核心的内容是其定义的 C ...
随机推荐
- paper 168: 2018-FATTEN 论文解析-feature space transfer for data augmentation
paper download:https://arxiv.org/abs/1801.04356 本文的核心就是使用GAN网络生成新的数据. 这个总体框图,常规结构,具体是通过在appearance和p ...
- [BZOJ1572] WorkScheduling
中文题目:工作安排 原文题目:Work Scheduling 传送门 本题可以采用贪心 算法一:按工作时间排序,如果工作能按时完成的工作就按时完成,如果工作不能按时完成就把之前价值最小的工作和当前作比 ...
- Spring-Boot"原生态"的logback
前言 Logback是由 log4j创始人设计的又一个开源日志组件: logback当前分成三个模块: logback-core logbackclassic logback-access logba ...
- LintCode之回文数
题目描述: 我的代码: public class Solution { /* * @param num: a positive number * @return: true if it's a pal ...
- AST7D08 心率计
接线: 1.GND 2.+3.3V 3.RST 4. 5.CS 6.READY 7.DI 8.DO 9.CLK
- ! Failed at the chromedriver@2.35.0 install script.
npm install 过程中报错 解决方法 运行 npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/d ...
- Python笔记(四)_字符串的方法
字符串的方法 []表示该参数时可选的,start和end参数表示范围 count(sub[, start[, end]]) 返回sub在字符串里边出现的次数 find(sub[, start[, en ...
- idea配置svn正确步骤(下载svn的过程就不写了)
打开----->File------>Settings 2. 3在vcs中选择 4进入此界面 5选择 这样svn就配置好了
- Codeforces 1132G(dfs序+线段树)
题面 传送门 分析 对于每一个数a[i],找到它后面第一个大于它的数a[p],由p向i连边,最终我们就会得到一个森林,且p是i的父亲.为了方便操作,我们再增加一个虚拟节点n+1,把森林变成树. 由于序 ...
- thinkphp中的exp查询
今天遇到一个问题,就是在vendor表中查询出vendor_id = vendor_f_id的数据,其实使用原生的sql语句是非常简单的: select * from vendor where ven ...