Kubernetes、OpenShift和IBM的简史

原文标题:A brief history of Kubernetes, OpenShift, and IBM
原文链接:https://developer.ibm.com/blogs/a-brief-history-of-red-hat-openshift/
作者:Anton McConville, Olaph Wagoner
发布日期:2019年8月1日

最近,IBM公有云上推出了红帽的OpenShift服务,这引发了我对它的起源以及它为何如此受开发人员欢迎的好奇心。在最近的KubeCon会议上,坐我旁边聊天的或在午餐时碰到的许多开发人员都提到他们是如何使用OpenShift的。我从开发人员那里了解到,金融机构正在使用OpenShift对交易进行分析,零售商正在使用OpenShift为他们的客户创造新的体验。

OpenShift是一个面向混合云的企业级Kubernetes应用平台。现在,IBM公有云将它作为托管解决方案或本地私有平台即服务(PaaS)提供。OpenShift是在红帽企业Linux(Red Hat Enterprise Linux)的基础上,围绕容器技术构建的,由Kubernetes进行容器编排和管理。

随着云计算的发展,OpenShift成为了最受欢迎的应用开发和部署平台之一,赢得了开发者们基于价值的尊重。随着云应用的开发对我们来说变得越来越“正常”,作为创建正确解决方案的工具箱中的又一件新工具,考虑OpenShift的合适定位是很有趣的事情。OpenShift可以与传统的内部应用软件、云函数服务(Cloud functions)、Cloud Foundry或物理机混合使用。

在这篇博客文章中,我和我的同事Olaph Wagoner将回溯过去,搞清楚OpenShift的发展历史。我们也会展望OpenShift在基于Kubernetes的企业级应用程序开发领域的发展前景。

下图展示了OpenShift、IBM和Kubernetes的时间线:

OpenShift、IBM和Kubernetes的时间线

发展早期的OpenShift: 2011-2013

OpenShift于2011年首次推出,依赖于Linux容器来部署和运行用户应用程序,正如Joe Fernandes在《红帽为什么为OpenShift选择Kubernetes》(Why Red Hat Chose Kubernetes for OpenShift) 一文中所描述的那样。

OpenShift V1和V2使用红帽自己的平台专有的容器运行时环境和容器编排引擎作为基础。

然而,OpenShift的故事开始于它正式发布之前。OpenShift的一部分来自于红帽2010年11月宣布的对Makara的收购。那次收购提供了作为操作系统之上抽象层的软件组件,包括PHP和Java应用运行时环境、Tomcat或JBoss应用服务器,以及Apache Web服务器。

早期的OpenShift使用称为“齿轮”(gears)的专有容器技术。OpenShift的节点包括了某种形式的容器化。“齿轮”的隐喻即基于容器的本质。OpenShift将独立的集群称之为“齿轮”:能够作为一个整个机构的一部分协同工作的东西。单个“齿轮”与某个特定用户相关联。为了用这些“齿轮”制作模板,OpenShift使用了从Makara获得的“墨盒”(cartridge)技术。

OpenShift本身直到2012年才正式开源。2013年6月,OpenShift V2发布,带来了cartridge格式的改变。

Docker改变了一切

Docker是由一家名为dotCloud的公司发起的一个项目,于2013年3月作为开源软件推出。Docker的出现让容器技术变得流行,它使得开发者能够利用现有的技能在这个新平台上用优雅的工具进行开发。

红帽是Docker技术的早期采用者,于2013年9月即宣布与Docker的合作。2014年12月,IBM也与Docker建立了自己的战略伙伴关系。多个IBM的工程师从项目的早期开始就一直在为以Docker为代表的多个基础容器技术项目贡献代码。

Kubernetes的出现

Kubernetes源自2014年谷歌的开发工作,到目前为止它已经成为管理容器的标准方式。

虽然Kubernetes最初是由谷歌设计的,但现在它是由云原生计算基金会(CNCF)维护的开源项目,红帽和IBM都为Kubernetes贡献了大量的代码。

根据kubernetes.io的说法,Kubernetes的目标旨在提供一个跨主机集群的“应用程序容器的自动部署、扩展和运维系统”。它可以支持包括Docker在内的一系列容器工具。

使用容器,你可以进入模块化的应用程序设计,其中数据库是独立的,并且你可以扩展应用程序而无需考虑单个机器的扩展。

Kubernetes是另一个IBM作为早期贡献者参与的开源项目。在下图中,你可以看到与容器技术相关的多个项目:Docker、Kubernetes和Istio中贡献度排名前5的组织,以及红帽和IBM的相应贡献度排名情况。它强调了容器技术对IBM的重要性,以及IBM在这些开源项目中的工作量。

IBM对开源容器技术的贡献情况

OpenShift V3.0: 开放和标准

红帽在2014年8月宣布打算在OpenShift V3中使用Docker。在幕后,从V2到V3的跳跃是相当大的。OpenShift从使用gears和cartridges发展到容器和镜像。为了编排和调度容器镜像,红帽从V3开始正式使用Kubernetes作为核心技术平台

开发者们被Kubernetes所吸引,对其兴趣与日俱增的主要原因如下:

  • Kubernetes使用Pod将一个或多个容器作为原子单元部署

  • 通过服务(Services)可以使用固定的地址访问一组Pod,并且可以使用集成的基于IP和DNS的服务发现将这些服务链接在一起

  • 复制控制器(Replication controllers)确保指定数量的Pod的始终运行,并使用标签(Labels)来标识Pod和其它Kubernetes对象

  • 强大的网络模型支持对容器的跨主机管理

  • 存储编排能力允许你在容器中运行无状态和有状态服务

  • 简化的编排模型可以让应用程序快速运行,而不需要复杂的两层调度器

  • Kubernetes的架构设计是基于对开发人员和运维人员的需求不同的理解,并且将双方的需求都考虑在内,这避免了为折衷而牺牲任何一方的情况

OpenShift引入了强大的用户界面,通过源代码到镜像(Source-To-Image )和管道(pipelines)技术快速创建和部署应用程序。Kubernetes之上的这些附加层简化并吸引了新的开发者受众。IBM也为构建OpenShift的关键开源组件贡献了大量源代码。

下图展示了OpenShift使用Kubernetes的发展历史:

OpenShift和Kubernetes的时间线

OpenShift V4.0和未来

红帽显然处于容器技术发展的前沿,在CNCF项目上的贡献仅次于谷歌。红帽最近的另一项成就是2018年1月收购了CoreOS。CoreOS的旗舰产品是一款轻量级的Linux操作系统,旨在运行容器化的应用程序。红帽在OpenShift V4中将其作为“红帽企业Linux CoreOS”(Red Hat Enterprise Linux CoreOS)推出。

这只是V4中许多激动人心的进展之一。如上图所示,OpenShift服务网格将Istio的监控能力与Jaeger和Kiali的显示能力相结合,还加入了Knative无服务器的支持,以及使用Kubernetes Operator来实现应用程序管理的自动化。

IBM和红帽在容器技术领域的发展之路也在这里汇合。IBM也是IstioKnativeTekton开源项目的主要贡献者。它们将会是未来10年基于容器的企业级应用开发的核心技术。

OpenShift V4.0是近期刚刚发布的。IBM公有云上的红帽OpenShift托管服务是IBM和红帽合作整合OpenShift和IBM Cloud Kubernetes服务的努力。更多关键信息,请查看之前的时间线配图。

结论

研究OpenShift的起源和历史很有趣。将OpenShift的历史作为镜鉴,我们看到了软件开发的这10年确实是以容器为中心大发展的10年。

令人印象深刻的是,在过去10年中红帽公司投入了大量的工程资源和精力、专注和驱动力来创建OpenShift这样一个引人注目的容器平台。IBM也同样对这些技术非常感兴趣。

我们期待着在未来的数年中学习和使用这些云技术来构建新的应用。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容

  • 内容来源:本文由IT大咖说(WeChat_ID:itdakashuo)转自数人云(ID:dmesos),好文请多支...
    IT大咖说阅读 1,841评论 0 16
  • 秋意浓,冬日若影若现。。。 街头掉落的枯叶,被风吹走。 行走在街头,凉风习习,一眼望去,街口一片金黄。行人匆匆的脚...
    高冷范的逗比阅读 274评论 0 1
  • 好久没去爷爷奶奶那儿。 才注意到奶奶耳朵真的特别背了,我不知道从什么时候开始,说话要说很大声,还要担心会不会吵醒睡...
    安迁Vacuum阅读 216评论 0 1
  • 三月 文/旅行者 她用肢体证明草长莺飞 桃花开的灵动 醉了江南 油菜花走过阡陌 用一缕金黄涂抹田野 玉兰的白穿过手...
    刘少汉阅读 167评论 0 1