DockerCon 2016:解读Weaveworks 提供的容器集群网络和监控解决方案

Dockercon 2016 -- Weaveworks

Micro SDNs by Weaveworks

"Micro SDNs"建立在传统的SDN和经典网络之上,它和传统的区别在于软件的网络是在软件启动的时候自己配置好,还是首先人为配置好网络后再创建应用。通过"Micro SDNs"的方式可以减少很多软件部署时的错误,并能让软件得到快速的迭代。
Weaveworks' Weave Net是容器化部署的网络解决方案。Weaveworks的Micro SDN方案对开发者来说不仅易用,而且在生产环境保证高的可用性和健壮性。
Weave Net的容器网络的解决方案类似于因特网,不依赖于中心化的数据存储,Weave的路由会通过交换信息自动学习连接状态,而且Weave Net是目前唯一可以处理多播的网络传输的容器网络方案。
Weave Net可以和Weave Scope一起使用,它可以用实时图的方式展示目前集群的主机,容器,进程,以及他们之间的通信关系。

Weave实践:

准备机器

使用Docker Machine ECS在阿里云上生成两台阿里云的ECS虚拟机

安装和使用weave net

下载weave脚本

curl -L git.io/weave -o /usr/local/bin/weave
# 这个地方有可能被墙掉,可以用这个地址:http://docker-build.oss-cn-hangzhou.aliyuncs.com/weave
chmod a+x /usr/local/bin/weave

启动weave:

weave launch 

设置Docker Host为weave的代理地址:

eval "$(weave env)"

在weave中启动三个容器并通过容器名或DNS通信:

~# docker run -itd --name test1  busybox
~# docker run -it --name test2  busybox ping test1 -c 2
PING test1 (172.20.0.3): 56 data bytes
64 bytes from 172.20.0.3: seq=0 ttl=64 time=0.132 ms
64 bytes from 172.20.0.3: seq=1 ttl=64 time=0.111 ms

--- test1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.111/0.121/0.132 ms

~# docker run -it --name test3  busybox ping test1.weave.local -c 2
PING test1.weave.local (172.20.0.3): 56 data bytes
64 bytes from 172.20.0.3: seq=0 ttl=64 time=0.231 ms
64 bytes from 172.20.0.3: seq=1 ttl=64 time=0.142 ms

--- test1.weave.local ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.142/0.186/0.231 ms

在另外一台主机上运行weave,并通过weave的网络跨主机互连

~# weave launch <第一台主机的ip>
~# eval $(weave env)
~# docker run -it --name test2_2  busybox ping test1 -c 2
PING test1 (172.20.0.3): 56 data bytes
64 bytes from 172.20.0.3: seq=0 ttl=64 time=0.132 ms
64 bytes from 172.20.0.3: seq=1 ttl=64 time=0.111 ms

--- test1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.111/0.121/0.132 ms

使用weave scope管理机器,容器和进程网络

在刚才创建的两台机器上安装weave scope

sudo wget -O /usr/local/bin/scope https://git.io/scope
sudo chmod a+x /usr/local/bin/scope
sudo scope launch

通过<机器IP>:4040访问weave scope:
可以看到容器,进程,机器的连接管理

点击容器之后能够查看容器的配置,进程,连接,以及对容器执行一些操作

下面我们运行两个容器,并通过Scope查看他们的连接和管理他们:

~# docker run -itd --name s1 busybox nc -llp 80
~# docker run -it --name s2 busybox telnet s1 80

可以看到两个容器网络是互相连接的,并且点击容器可以看到进程的连接详情:

Weave Net原理


Weave在每台机器上运行Weave Router的进程,容器间互相访问的请求会转发到Weave Router上,Weave Router会根据每个机器上不同网段的配置将请求转换为udp的包转发到对应的宿主机上,接收到的Weave Router解包后将请求转发到对应的容器。
同时,Weave Router同时有DNS的模块,它会记录并广播容器的DNS别名和IP地址到集群中的机器,容器便可以通过DNS互相发现和负载均衡。

时间: 2024-09-29 20:36:39

DockerCon 2016:解读Weaveworks 提供的容器集群网络和监控解决方案的相关文章

DockerCon 2016 西雅图即将到来,8大主题详尽解读

DockerCon 2016 距离全球Docker粉丝最受欢迎的DockerCon 2016,只有短短几天.大家一定想了解,本次大会有哪些新的技术会推出?哪些新的场景又使用上容器技术?各大厂商又是如何在生产环境部署Docker?本文通过对会议议题的解读,帮助大家提前了解会议的亮点. 本次DockerCon大会持续2天半(6.19-6.21),在西雅图的华盛顿州会议中心举办.除了主会场外,还有另外8个分会场.分别有 用户故事(IBM.GE.Furgo) 百搭 (微服务) Docker技术 (eng

DockerCon 2016 深度解读:在阿里云上体验Docker 1.12内置的编排能力

昨天才从DockerCon大会归来,阿里云容器服务团队将为大家奉献一系列深入学习的文章来帮助大家了解Docker 1.12的最新动态. 第一部分:在阿里云上体验Docker 1.12内置的编排能力 (本文) 第二部分:在阿里云上体验Docker 1.12的路由能力和容器应用分发部署 在DockerCon第一天的Keynote里面,Docker CTO Solomon Hykes宣布Docker将提供内置的编排(Orchestration)能力,从而能使得Docker Engine原生支持集群管理

DockerCon 2016 深度解读:Docker监控厂商之Sysdig

Docker监控厂商系列介绍 Docker 技术社区与其他诸如微服务.DevOps等等在过去的一年里碰撞出了炫目的火花,但是系统的稳定性永远都是成熟应用的首要考虑因素,因此,国内外围绕Docker监控涌现出了很多优秀的厂商,为整个Docker生态提供了坚实可靠的工具与服务.我们会以一个系列的文章来介绍这些Docker监控厂商,分析对比各个厂商在监控方面的侧重点与优势,让更多的开发者能够根据自己的业务需求做出合适的选择. 今天介绍的产品是 Sysdig Sysdig 介绍 Sysdig is op

DockerCon 2016大会召开:开源!垄断?

开源!垄断!似乎这两个词语是矛盾的,但是在6月19日~21日西雅图召开的DockerCon 2016大会上,业内却对Docker公司的策略产生了这样的疑问. 一直以来,Docker 作为一种开源的应用容器引擎,让开发人员可以将应用和依赖包打包到一个可移植的容器中,并发布到任何流行的 Linux 机器上,当然也可以实现虚拟化,并且不依赖于任何语言.框架或包装系统. 近两年,Docker的发展可以说风生水起,不仅其本身被众多开发人员和企业认可,同时也诞生了以Docker为中心的生态圈.Docker公

89期:DockerCon 2016精彩内容回顾

本期头条   首届阿里巴巴在线技术峰会:7月19日开启,全程互动,火热报名! 首届阿里巴巴在线技术峰会(Alibaba Online Technology Summit)将于7月19日-21日20:00-21:30在线举办.峰会邀请到阿里集团9位技术大V,分享电商架构.安全.数据处理.数据库.多应用部署.互动技术.Docker持续交付与微服务等一线实战经验,解读最新技术在阿里集团的应用实践,点击查看. • [千元大奖]如果给你机会重回一年前,你会成为怎样的自己? • [专题]Dcoker现在和未

构建基于容器的本机监控系统 应该注意什么?

本文讲的是构建基于容器的本机监控系统 应该注意什么?[IT168 评论]容器技术是目前非常火爆的一个技术,能够大大提升工作效率.本文中,我们将描述容器本机监控的含义,其核心是对动态容器环境进行监控,并解决在此环境中完全堆栈可见性的具体挑战.当然这个解释很模糊,下文中我们会详细讨论. 单个容器并不重要 在云环境中,经常会有"宠物与家畜"的比喻,传统服务器是你所关心的,被称作"宠物",而在云中,你处理的是动态的实例,这些实例很容易被替换,因此表现为"家畜&qu

使用docker compose 测试集群网络连接性

    在docker 集群中部署相互依赖的应用的时候,有时候会出现因为网络问题导致link之间不能互相访问,错误定位比较麻烦.而且目前docker overlay network也能实现容器的跨主机网络互通,因此一套简单易用的compose file来测试当前集群网络各个主机上容器之间是否是互通的也就很有必要.下面我们来演示如何使用compose file在容器服务上部署测试当前集群网络连通性.     首先需要创建一个集群.     这里创建了三个节点的集群.然后使用这个模板创建服务 web

Windows Azure为SAP提供的增强监控解决方案

正如大家在之前公告中所看到的,多个 SAP 应用程序已获得认证可在 http://www.aliyun.com/zixun/aggregation/13357.html">Azure 虚拟机中运行,未来 还会有更多 SAP 应用程序获得认证.对于希望在 Azure 中运行 SAP 应用程序的客户来说,这是个激动人心的进展,更多详情,请单击此处.在此博客中,我想集中讨论Azure为 SAP 提供的增强监控解决方案,当您在 Microsoft Azure 虚拟机上运行基于 SAP NetWea

思科HyperFlex系统提供最完整的新一代超融合解决方案

对于大多数企业而言要想取得业务成功并持续保持竞争力高效的 IT 基础设施不可或缺.全球各地的IT组织都面临着应用决定架构的现状.随着需求不断发展服务器.存储和网络交换矩阵之间的关系也在不断变化.为了更加简单有效的部署和运维虚拟化集群并降低存储成本超融合系统的概念应运而生.   第一代超融合系统解决了一部分问题但它们也造成了新的基础设施孤岛无法提供强大的可扩展性并且缺乏生命周期管理功能和强大的数据安全性.思科HyperFlex系统采用专门设计的端到端软件定义的基础设施可消除第一代产品中存在的不足.