BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Ocado Technology 发布了“Kubermesh”, 一个支持自动配置、采用网状网络的 Kubernetes 集群原型

| 作者 Daniel Bryant 关注 665 他的粉丝 ,译者 燕春翔 关注 0 他的粉丝 发布于 2017年6月13日. 估计阅读时间: 6 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Ocado Technology团队创造了Kubermesh,一个“基于裸机、自我托管、自我恢复、自我配置、采用部分网状网络的Kubernetes集群”。Kubermesh本质上可以被视为一个粘合节点,它将多个技术结合在一起,从而构成了一个容器平台。这个平台由一个使用OSPF3路由协议的部分网状网络和一个用iPXE启动、自我安装的Kubernetes部署组成。该Kubernetes部署运行在由Openstack管理着的裸机服务器上。

Ocado Technology在博客上写道,这一项目萌芽于他们团队在白板上进行头脑风暴时提出的一个问题,“如果我们能将我们Customer Fulfilment Center的数据中心分成更小的节点,会怎样呢?” 他们提到的Customer Fulfilment Center (CFC) 是一个高度自动化的仓库,在这个仓库储存,挑选,并分发食品杂货送往Ocado的客户们。Ocade的私有Ocado Smart Platform CFC包括了数千个在网格上徘徊的机器人以及把机器人递来的货物按客户订单即时打包的工人。

Kubermesh部署了一个作为铺垫的局部网格网络,该网络在IPv6网络上使用了OSPF3路由协议(利用本地链路地址自动配置功能),该路由协议由Quagga Software Routing Suite提供。由于目前没有标准供应商支持IPv4 over IPv6的网络,他们为Kubernetes部署了一个自定义的覆盖虚拟网络。这个覆盖虚拟网络和CoreOS的Flannel结合起来使用以支持IP地址分配。通过IPv6上的iPXE-booting,Kubermesh可以为网格添加节点,并利用boot.cfg来配置节点的基础软件。随后,kubermesh使用Kubernetes孵化器项目bootkube来启动一个自托管的Kubernetes集群。一旦集群启动,bootkube会作为一个临时的Kubernetes集群控制面板(API服务器、调度器、控制器管理器),这个临时控制面板会运行足够长的时间,以便Kubernetes集群引导一个自托管的控制面板来替代临时控制面板。

据Ocado Technology Network表示,使用网格网络,开发者甚至可以移除数据中心、网络、以及仓库周围运行着的各种机器,只留下计算节点和光纤。这些可以自动配置的元素保证了系统的灵活性,这种灵活性可以允许新添加的节点简单的连接到网络。并且,在几分钟时间内,新节点就可以被整合到集群中。Kubernetes自身将会管理容器的协调,并在个别节点发生失效事件时进行重新调度。

Kubernetes最初是作为Code for Life项目的容器管理系统被引入Ocado Technology的。Code for Life项目是一个非盈利的初创项目,该项目发行免费且开源的游戏,设计这些游戏主要是为了帮助老师讲授计算机课程和帮助小朋友们接触编程。Rapid Router作为一款面向小学设计的游戏,在全球已经拥有超过90,000名用户,而这一数字还在增加。考虑到Code for Life庞大的用户群,为了让游戏流畅运行,容器管理系统的开发必须以能持续处理和管理大型数据集为目标。

Code for Life的网站和Rapid Router已经托管在了支持Kubernetes的Googld Cloud Platform上。这意味着,当需要一个容器管理系统在云端的虚拟机上运行大量学生编写的代码时,Kubernetes毫无疑问是最佳的选择。Ocado的IT团队领导Mike Bryant曾参与了Code for Life这一容器管理系统的开发过程。在开发过程中,Mike Bryant意识到该系统也有可能被用在云平台之外,比如用于流水线化Ocado Technology的数据系统。

我们最大的食品杂货CFC在伊利斯(Erith),占地563000平方英尺,并且需要400这样的节点,它们随机分布在仓库周围,连接在一起形成网络。这样一来,部署在节点上的app可以策略性的分布在其它经常与之通信的app附近,这样可以得到最快的速度和最佳的性能。一个节点可以是我们仓库内的任何计算设备,包括从专一的服务器或Intel NUC,到捡货通道的工作站或用来在头顶显示屏上显示工程相关信息的PC。

如果Kubermesh的原型系统得到了验证,该系统就有可能从根本上完全消除数据中心以及网络路由存在的必要性,大大缩减了当前OSP系统的规模,节省了花费在维修保养上的时间,并且降低了成本和能量消耗。同时他们还提议,Kubermesh节点可以自主的运行仓库中的所有其他元素,从显示屏幕到捡货站(假设所有对应的应用可以在容器内成功运行)。

关于Kubermesh项目的其他详细信息可以在Ocado Technology官方博客的《使用Kubernetes和容器创建分布式数据中心结构》这篇博文中找到,Apache 2.0 授权的原型源码可以在Kubermesh GitHub的代码仓库中找到。

查看英文原文Ocado Technology Releases “Kubermesh”, a Prototype Self-Provisioning Mesh Network Kubernetes Cluster


感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT