BT

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

VMware在DockerCon EU宣布开源“Photon Controller”基础设施控制器

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

在2015年DockerCon EU中,VMware通过企业的Github账号开源了他们的Photon Controller产品。Photon Controller是VMware中Photon platform的一个组件。它为了优化“容器与云”工作负载,作为一个基础结构堆栈被设计出来。这个虚拟化平台通过许多框架,例如KubernetesDocker SwarmMesos,提供了API优先的用户体验、可扩展的控制平面和原生容器支持。

VMware blog声明,Photon platform是一个新型基础结构堆栈,为了优化“原生云应用”,它基于VMware ESXi管理程序,但是“它更倾向于在规模和速度上超过vSphere提供的丰富的管理功能”。此平台由Photon Machine,一个轻量级的、基于ESX的、有内置Photon OS的“microvisor”,和Photon Controller,一个分布式的、API驱动的、多租户的、包括Project Lightwave容器安全性项目的控制平面组成,并且为“极高的规模与改动”而设计。

Photon platform在八月份的VMworld中被发布,并承诺了“将Photon Controller开源,让开发者、客户和伙伴直接参与进来”。Photon Controller网站声明这个项目交付了:

  • 一个API优先的模型:一种用户体验,利用RESTful API、SDK和CLI工具的,专注于基础结构消费与操作的自动化;
  • 一个快速、可扩展的控制平面:一种新的用于优化规模和速度的基础结构控制平面,允许每分钟创建1000个新的VM隔离的工作负载,并且支持总数100000个的同时发生的工作负载;
  • 原生容器支持:Photon Controller为了“用来运行为原生云(分布式的)app而设计的工作负载的大型环境”而建立,开发团队可以用各种各样的容器编排框架,例如Kubernetes、Docker Swarm、Pivotal CF/Lattice和Mesos来部署基于容器的应用。

Photon Controller架构由若干低耦合的部件或是由“分布式协作”管理的服务组成。端点在Apache Zookeeper注册,服务可能作为“横向扩展”(主动/主动)操作,使用备用服务器(主动/被动),或有明显分区的工作(例如计划程序)。Photon Controller的技术架构如下图:

图1. Photon Controller的技术架构

Photon Controller的外部API以REST(基于HTTP的JSON)接口提供,用基于Java的Dropwizard框架实现。这些外部REST API是为了被水平扩展的、共享一个持久数据库(“CloudStore”)的API服务器显示而设计的。其中的持久数据库充当了一个容器状态、簇、VM、磁盘、网络和物理宿主的单一事实来源。面对API服务器,负载平衡器(例如haproxy)将典型地被取代。

Photon Controller的大多数管理平面是用java实现的,其中有一些服务是在VMware的Xenon框架上实现的。这个框架是一个“分散的系统开发框架”,现在只能作为技术预览得到。ESX代理用Python实现,Photon Controller CLI,作为完备产品的集成测试,用Ruby实现。

每个由Photon Controller控制的物理宿主都有一个代理在其之上运行,提供用Apache Thrift实现的RPC接口,被其他所有部件用于与宿主交流。有很多特殊的部件用于监督其他部件的运行状况和开支管理。例如,“Chairman”负责计划程序的运行状况和树状拓扑结构。

VMware网站声明Photon Controller还实现了一种新奇的分布式计划程序:

它是计划程序服务节点的层次结构,其中树中的每个节点只能访问它的直接子节点。其中由父节点决定的负载/使用上的重要统计(stats)在计划程序中不断涌现,父节点沿计划程序树向下发送请求来解决配置需求。这样的话计划程序就避免了单一权值/配置数据库上的重负载。

有关Photon Platform和Photon Controller的更多信息可以在项目网站上找到,开源的代码可以在VMware的Github库中查看。开发者们可以使用项目的“Devbox”下载并运行一个小型的、单机的、测试用Photon Controller部署。有关项目的问题可以在Photon Controller Google Group中提问,也可以通过在Stack Overflow使用“photon-controller”标签提问。

查看英文原文:VMware Open Source 'Photon Controller' Infrastructure Control Plane at DockerCon EU


感谢张龙对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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