32. docker swarm 集群服务通信 之 RoutingMesh - internal 网络
1. 两个 service 是如何通信的
通过内置的 DNS 服务发现的功能 相互通信的
2. 创建一个 overlay 的 网络
docker network create -d overlay demo
3. 创建一个 whoami 的service 访问
当访问 该容器 的 8000 端口的 返回 容器的 host
docker service create --name whoami -p 8000:8000 --network demo -d jwilder/whoami
查看创建的容器
docker service ls
docker service ps whoami # 发现运行在 docker-node2 上
访问容器的 8000 端口
curl 127.0.0.1:8000
将 whoami 拓展为两个
docker service scale whoami=2
docker service ps whoami # 发现运行在 docker-node2 和 docker-host 上
5. 创建一个 busybox 服务
创建容器
docker service create --name client -d --network demo busybox sh -c 'while true; do sleep 3600; done'
查看创建的容器
docker service ls
docker service ps client # 发现运行在 docker-node1 上
6. 进入 到 client 内部
在 docker-node1 上
docker ps
进入 容器 内部
docker exec -it 0f5549415e58 sh
ping whoami 容器 一直返回的 为 10.0.0.5
ping whoami
用mac nslookup (查看 某个网站所对应的 ip 地址 )
查询 ww.baidu.com 对应的 ip 地址
nslookup www.baidu.com
进入 busybox 容器 内部
docker exec -it f69c830331de bash
查看 访问的 whoami 容器
查看虚拟 ip 地址 nslookup whoami
查看正式 ip 地址 nslookup tasks.whoami
7.拓展 whoami 为 3个 再次查看 whoami 的 ip 地址
docker service scale whoami=3
在 client 下 查看 whoami 的ip
查看虚拟 ip 地址 nslookup whoami
查看正式 ip 地址 nslookup tasks.whoami
8. 验证 每次请求 都不是同一台 服务器
在 client 下
下载 whoami 内的 内容
wget whoami:8000
读取 下载下来的 index.html 的内容 说明 读取的是两个不同的 container
more index.html
9. Routing Mesh 的两种体现
Internal 网络
在 swarm 内 , 容器和容器之间是通过 连接到同一个 overlay 网络进行访问,通过 service name 进行通信 (eg: 容器内 通过 ping service name ), 但是 service name 所对应的 ip 不是 真实 ip 而是 VIP (Virtual ip)
Ingress 网络
如果 service 有绑定端口, 则此服务 可以通过任意swarm节点访问
32. docker swarm 集群服务通信 之 RoutingMesh - internal 网络的更多相关文章
- 33. docker swarm 集群服务通信 之 RoutingMesh - Ingress 网络
1.作用 当在 任何 一个 swarm 节点去访问 端口服务的时候 会通过 本节点 的 IPVS ( ip virtual service ) 到 真正的 swarm 节点上 当访问 docker h ...
- Docker Swarm 集群环境搭建及弹性服务部署
上一篇文章<Docker Swarm 集群管理利器核心概念扫盲>中我们把 Swarm 重要的概念性知识给大家讲解了一波,理论完事就该实战了,这篇文章带大家从零开始,搭建 Docker Sw ...
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
- Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
目录 [TOC] 1.环境准备 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...
- [转载] Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
1.环境准备 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0.33 c4 -&g ...
- 通过docker-machine和etcd部署docker swarm集群
本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...
- 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署
在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...
- docker swarm 集群及可视化界面的安装及配置
docker swarm 集群及可视化界面的安装及配置 2016-12-14 16:08:46 标签:swarm consul registrator 原创作品,允许转载,转载时请务必以超链接形式标明 ...
- Docker Swarm——集群管理
前言 之前在总结docker machine的时候,当时对docker理解还不够深入,甚至还不知道 docker machine 与 docker swarm 的区别. 在查阅资料以及官方文档之后,今 ...
随机推荐
- 每天一点点之 uni-app 框架开发 - 页面滚动到指定位置
项目需求:在页面中,不管位于何处,点击评论按钮页面滚动到对应到位置 实现思路如下: uni.createSelectorQuery().select(".comment").bou ...
- SSM文件上传要点总结
文件的上传要点: 1.表单方面:enctype="multitype/form-data" 编码方式选择混编码 input 类型采用file 2.实体类一定要进行序列化,也就是im ...
- node - 读取cookie
req.headers.cookie
- python 定义一个空集合、空字典
s = set() #定义一个空集合 s = {} #定义一个空字典
- 用 Python 编写一个天气查询应用 pyqt5
效果预览: ! 一.获取天气信息 使用python获取天气有两种方式. 1)是通过爬虫的方式获取天气预报网站的HTML页面,然后使用xpath或者bs4解析HTML界面的内容. 2)另一种 ...
- Tunning spark
Data Serialization 对spark程序来说,可能会产生的瓶颈包括:cpu,网络带宽,内存 在任何分布式应用中数据序列化都非常重要,数据序列化带来的作用是什么?第一减少内存占用,第二减小 ...
- Spark RDD 宽窄依赖
RDD 宽窄依赖 RDD之间有一系列的依赖关系, 可分为窄依赖和宽依赖 窄依赖 从 RDD 的 parition 角度来看 父 RRD 的 parition 和 子 RDD 的 parition 之间 ...
- 十、React 父组件传来值的类型控制propTypes、父组件如果不传值defaultProps
父组件给子组件传值时: 1.defaultProps:父子组件传值中,如果父组件调用子组件的时候不给子组件传值,可以在子组件中使用defaultProps定义的默认值: 2.propTypes:验证父 ...
- cf442 B.Andrey and Problem
看题偷瞄到题解2333(以为是劲题呢..结果是乱贪心,奇怪) 排序之后,如果加入下一个比现在更优就更新答案(奇怪啊) t=ans*(1-a[i])+s*a[i];(ans*(1-a[i])是新的一位不 ...
- 如何写好一个完整的Essay写作论证
主体段是我们留学生在Essay写作中陈述观点和论述观点的核心段落,那么一个完整的论证应该包含哪些要素呢?我觉得有这么几项:主旨句.解释.例证.小结(非必需) 这些其实也是我们在说服他人接受我们的观点时 ...