天天看點

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

本文講的是<b>OpenShift 3 : 基于Docker的私有PaaS平台</b>,【編者的話】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容器。

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

Source-To-Image模式(STI):允許通過送出應用的源碼到OpenShift來自動建構一個應用。(就像Heroku中的buildpacks)。

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

自定義構模組化式:允許提供自己的應用來建構邏輯,這是通過提供一個OpenShift Docker的鏡像實作的。

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

當系統資料庫有新的應用映像版本釋出或者應用配置有了更新時,OpenShift 3還允許定義一個自動的部署政策。

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

為了完成這些建構和部署特性,OpenShift 3提供了把它自己的應用藍圖定義成用JSON或Yaml格式的模闆檔案的功能。這些藍圖描述了應用的架構拓撲和容器的部署政策。下面的圖表描述了在OpenShit中,如何為3層應用将模闆的不同元件進行組合的。

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

在“模闆”中組合元件,一定程度上繼承了Kubernetes的概念,需要記住以下主要的對象。

一個“POD”是一個Docker容器的運作環境(如果需要共享本地的資源, 我們将在單獨的POD中部署兩種類别的容器)

一個“服務”是一個入口,抽象出一個均衡通路負載到一組相同的容器,理論上,最少是一個服務對應一個架構層。

一個“服務部署者”或“部署配置”是一個對象,用來描述基于觸發器的容器的部署政策。(比如,當Docker系統資料庫中有新版本的映象時,需重新部署)。

一個“複制控制器”是一個技術元件,主要負責POD的彈性。

一個“路由”是用來顯露一個應用的入口(域名解析,主機名或VIP)

通過它的多重部署機制和設定自身“藍圖”的能力,OpenShift第三版适用于大多數的複雜應用架構。

“主伺服器”節點的功能是:

處理來自于指令行或Web界面的API請求。

建構映象和部署容器。

確定POD複制的彈性。

“主伺服器”依賴于基于etcd的分布式目錄,主要用來提供配置共享和服務發現。

“節點”主要用來作為PODS的宿主和運作容器(應用和系統資料庫)。

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

架構是分布式的、可擴充的和具有彈性的。但是平台自身暫時還不支援自動擴充能力:目前可提供的和底層伺服器的容量計劃隻能通過手動調整。

可通過自身的REST API、CLI、Web portal來通路和管理平台。

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

OpenShift 3在介于“平台即服務”和“容器即服務”的世界間架起了一個有趣的橋,紅帽提出了一個大膽的解決方案和一個最先進的架構,我們非常感謝“藍圖”的規格格式,來定義架構的需求格式和部署的編排。

在Beta 3版本中,OpenShift平台并沒有強烈關注平台的可操作性,暫時并不建議将它應用在生産環境中,但是使用者的各種問題是可以在路線圖中找到的。

用Heapster進行監控。

易實作叢集部署。

我們相信在OpenShift 3中模組化一個應用将會是一份新的工作,它需要新的技能,以便可以提出适當的問題,比如:如何組織容器?是否應該使用路由或服務?如何處理資料(一緻性、複制、備份)?如何管理多重租用?如何內建開發和部署軟體工廠?

總而言之,OpenShift是一個非常有前途的私用PaaS解決方案,它可以減少從項目開始到自動建構應用和部署的時間,它支援絕大多數複雜的Web架構,即使是資料的管理和外部服務的內建還沒有得到完全應用。

我們相信OpenShift 3對一切都盡在掌握,它将成為基于Docker的私有PaaS平台領域的參照。

原文釋出時間為:2015-08-05 

本文作者:jacksonlee 

本文來自雲栖社群合作夥伴DockerOne,了解相關資訊可以關注DockerOne。

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