OpenShift 3 : 基于Docker的私有PaaS平台

本文讲的是OpenShift 3 : 基于Docker的私有PaaS平台,【编者的话】OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数的Web架构,将成为基于Docker的私有PaaS平台领域的参照。

OpenShift是一个私有的PaaS(Platform-as-a-Service)解决方案,主要用来在容器中搭建、部署以及运行应用程序。它是基于Apache 2.0许可的开源软件, 并且发行了两个版本, 一个是社区版, 一个是企业版。

第三版的起源

从2014年7月开始,OpenShift就己经着力于研究一个非常出色的项目,该项目是将技术架构和与Docker、Kubernetes整合到一起(现在这是一件很常见的事)。

一年前启动这个项目对于OpenShift来说是一个大胆而且充满风险的的决策。确实如此,当时云平台的竞争处于白热化的巅峰时期,而此时OpenShift就决定冒着风险启动这样一个非常重要的重建项目,这个风险主要来自于他们需要停止新特性的开发并妥协旧版本之间的兼容性问题。但是现在,我们相信他们作了一个正确的决定。

到目前为止,社区版本联合了86名GitHub上(GitHub是红帽上10个最活跃项目之一)的开发志愿者。在12个月中己经进行了16次的迭代,并且刚刚发行了第一版。

尽管这个方案主要是由红帽在推动,但它非常依赖Kubernetes(来源于Google)。由此引发了到底由谁来支配和主导的问题,该问题依赖于两个公司之间的协作和版本基准,Google开发出新特性后会发生什么?他们会关注Kubernetes还是OpenShift?很显然,这个问题还没有答案。

但是,Google的技术支持部门己经确认,由两家公司同时主导只会给OpenShift带来更多益处。它将成为比Docker企业版更具竟争力的产品(机器、组建和群)。

自动构建和部署应用:这怎么实现

OpenShift V3提供了3种来自动构建应用的方法。

  • Docker-File模式:通过向OpenShift提供指向Docker-File以及其依附关系的源码管理器的URI来自动构建一个Docker容器。

  • Source-To-Image模式(STI):允许通过提交应用的源码到OpenShift来自动构建一个应用。(就像Heroku中的buildpacks)。

  • 自定义构建模式:允许提供自己的应用来构建逻辑,这是通过提供一个OpenShift Docker的镜像实现的。

当注册表有新的应用映像版本发布或者应用配置有了更新时,OpenShift 3还允许定义一个自动的部署策略。

为了完成这些构建和部署特性,OpenShift 3提供了把它自己的应用蓝图定义成用JSON或Yaml格式的模板文件的功能。这些蓝图描述了应用的架构拓扑和容器的部署策略。下面的图表描述了在OpenShit中,如何为3层应用将模板的不同组件进行组合的。

在“模板”中组合组件,一定程度上继承了Kubernetes的概念,需要记住以下主要的对象。

  • 一个“POD”是一个Docker容器的运行环境(如果需要共享本地的资源, 我们将在单独的POD中部署两种类别的容器)
  • 一个“服务”是一个入口,抽象出一个均衡访问负载到一组相同的容器,理论上,最少是一个服务对应一个架构层。
  • 一个“服务部署者”或“部署配置”是一个对象,用来描述基于触发器的容器的部署策略。(比如,当Docker注册表中有新版本的映象时,需重新部署)。
  • 一个“复制控制器”是一个技术组件,主要负责POD的弹性。
  • 一个“路由”是用来显露一个应用的入口(域名解析,主机名或VIP)

通过它的多重部署机制和设置自身“蓝图”的能力,OpenShift第三版适用于大多数的复杂应用架构。

引擎盖下的优雅架构

OpenShift 3的架构可以作为单机模式部署(使用Docker镜像“openshift/origin”),也可以作为分布式模式部署。在随后的案例当中,用了两种服务器角色,主服务器和节点。

“主服务器”节点的功能是:

  • 处理来自于命令行或Web界面的API请求。
  • 构建映象和部署容器。
  • 确保POD复制的弹性。

“主服务器”依赖于基于etcd的分布式目录,主要用来提供配置共享和服务发现。

“节点”主要用来作为PODS的宿主和运行容器(应用和注册表)。

架构是分布式的、可扩展的和具有弹性的。但是平台自身暂时还不支持自动扩展能力:目前可提供的和底层服务器的容量计划只能通过手动调整。

可通过自身的REST API、CLI、Web portal来访问和管理平台。

OCTO的观点

OpenShift 3在介于“平台即服务”和“容器即服务”的世界间架起了一个有趣的桥,红帽提出了一个大胆的解决方案和一个最先进的架构,我们非常感谢“蓝图”的规格格式,来定义架构的需求格式和部署的编排。

在Beta 3版本中,OpenShift平台并没有强烈关注平台的可操作性,暂时并不建议将它应用在生产环境中,但是用户的各种问题是可以在路线图中找到的。

我们相信在OpenShift 3中建模一个应用将会是一份新的工作,它需要新的技能,以便可以提出适当的问题,比如:如何组织容器?是否应该使用路由或服务?如何处理数据(一致性、复制、备份)?如何管理多重租用?如何集成开发和部署软件工厂?

总而言之,OpenShift是一个非常有前途的私用PaaS解决方案,它可以减少从项目开始到自动构建应用和部署的时间,它支持绝大多数复杂的Web架构,即使是数据的管理和外部服务的集成还没有得到完全应用。

我们相信OpenShift 3对一切都尽在掌握,它将成为基于Docker的私有PaaS平台领域的参照。

原文链接:OpenShift 3 : private PaaS with Docker(翻译:Jackson LEE)

原文发布时间为:2015-08-05 

本文作者:jacksonlee 

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:OpenShift 3 : 基于Docker的私有PaaS平台

时间: 2024-08-04 13:06:27

OpenShift 3 : 基于Docker的私有PaaS平台的相关文章

基于Docker开发的PaaS平台 DINP

基于Docker开发的PaaS平台 DINP DINP是又一个基于Docker开发的PaaS平台. DINP 包含如下组件: dinp-server master组件,控制集群中所有计算节点 dinp-agent Agent,部署在所有计算节点,收集各个节点运行状态和container列表 dinp-builder 编配平台,负责把用户代码打包为Docker image dinp-dash Dashboard,用户操作的入口 dinp-router 负责请求的路由等功能 dinp-hm Heal

蘑菇街基于Docker的私有云实践

12月6日,由[DBA+社群]中间件用户组主办的"中间件走进云计算--企业级互联网架构技术沙龙"在上海成功举办.本次沙龙特邀蘑菇街平台技术部高级架构师郭嘉,为大家分享过去一年时间里,蘑菇街在建设基于Docker的私有云实践过程中曾经遇到过的问题,如何解决的经验,以及他们的体会和思考,与大家共勉.   ◆ ◆ ◆  ◆ ◆    >>>>分享内容   

基于OpenStack构建私有云计算平台

基于OpenStack构建私有云计算平台 李小宁 李磊 金连文 黎德生 云计算是近几年来IT领域非常热门的研究方向,而私有云凭借其安全性.可控性以及有效利用IT设备资源等特性,在云计算领域占据重要位置.本文详细介绍了OpenStack开源云计算平台的架构以及OpenStack的5个功能模块的关系,并重点介绍了一种基于OpenStack构建私有云的方案.此外,本文还分享了私有云平台搭建过程中遇到的问题和解决方法,并分析了此私有云平台的安全性以及弹性计算资源分配能力. 基于OpenStack构建私有

物流领域中基于SOA的云计算PaaS平台

1.物流领域企业的困境 在众多的物流企业竞争角逐中,企业能否脱颖而出,主要取决于企业如何快速和高效地适应市场的变化.一个想要打造成能快速适应变化的企业迫切需要一个灵活的系统,能够最大化地接近客户,能够响应客户的动态需求,帮助企业抓住动态的商业机会.所以,企业的业务处理必须走出企业自己的范围,同多个客户和合作伙伴进行协调.例如.一个国际货运代理公司的业务,通常跨越了企业边界,它的使用角色除了企业内部的操作.单证.客服.财务.销售.管理者外,还包含整个供应链上的上下游企业,如货主.同行.车队.报关行

Engine Yard的Deis平台推出基于Docker的PaaS商业支持

本文讲的是Engine Yard的Deis平台推出基于Docker的PaaS商业支持,[编者的话]Engine Yard今年四月份收购Deis时,表示将会就其提供商业支持,现在,终于来了. 今年早些时候,云平台服务商Engine Yard收购基于Docker的开源PaaS平台Deis.一直以来,Engine Yard因其提供的支持服务著称,今后,该公司还将向商家提供"购买Deis支持"的选项. Deis是一个基于Docker和CoreOS的平台,旨在为开发者提供一个本质上是私人托管的H

从Google的PaaS平台说起,解析中美Docker生态圈

本文选自清华大数据产业联合会会员.数人云CEO王璞博士在5月18日第八届中国云计算大会上主题为"中美容器之融合与变革"的分享,以下是演讲实录: 容器VS虚拟化 首先我科普一点什么是容器技术.容器技术其实本身并不是什么崭新的技术,大家经常拿容器技术跟虚拟化技术比较.有一个通俗的说法,容器是极度轻量的虚拟机.怎么理解大家看这个图,左边图展示的是虚拟机,物理服务器里装操作系统,再装上虚拟机管理软件,生成很多虚拟机,然后虚拟机再装操作系统再装各种各样的应用.右边图展示的是容器,物理服务器里装操

基于Docker的京东大数据实时计算平台

JRC用户需求多样复杂,用户要求的资源配置也大小不一,系统更新部署步骤繁琐,人工操作亦有极大的安全风险,与此同时,用户的资源需求也越来越多,大集群支持.资源节省亦是我们应该重点关注的问题. 本文就来介绍一种我们京东为了解决上述问题而研发的基于docker的实时计算平台. 现状以及问题 storm集群结构: storm拓扑结构: storm瓶颈 从storm架构图可以看出,storm整个集群对zookeeper的依赖非常大,无论是拓扑配置.分配信息.心跳.错误信息,均存储在zookeeper中,而

基于Docker API的工具综述

本文讲的是基于Docker API的工具综述,[编者的话]考虑到过去三年Docker取得的骄人成绩以及远程API的成熟,毫无疑问,Docker会成为开发者的首选平台.随着Docker的发展壮大,开发者也共享了很多围绕Docker的开源项目,本文中将讨论这些项目是如何使用Docker API的. Docker是在虚拟容器中简易部署应用最前沿技术.之前我们已经知道Docker可以减少开发维护复杂度,使得正在成长中的架构得以实践.这种架构使得整个应用以及底层操作系统以轻量级容器方式创建和部署,而不是依

四关键点告诉你私有 PaaS 该怎么搞

随着Docker的兴起,基于Docker构建适合企业内部的应用开发平台(PaaS),成为一个热门话题.公有PaaS由于要做到通用和普适性,所以往往很难真正满足企业业务开发需求. PaaS最终应该是解决方案,适应客户需求的解决方案,而且是需要随着业务需求的变化可以不断演变.而不是客户削足适履去适应PaaS这个工具 私有PaaS相比公有PaaS最大的区别在于,其规范是自己根据需求来定制和实施.那么PaaS究竟有哪些规范,又如何结合企业自身需求和业务特点来制定规范? 首先,明确引入私有PaaS解决什么