Openshift首個支持企業級 Java 的 PaaS 平臺,支持 JEE6 與 JBoss 和其 Eclipse 集成開發環境以及 Maven 和 Jenkins 自動化。使用 OpenShift 的人數及社區人數在不斷增加。OpenShift基於Kubernetes,增長哪兒些功能?有什麼區別?html
1.Openshift 的 Web consolenode
Openshift的web console採用node.js 與angularJS開發,支持實時推送,以下示例web
2.集成容器管理與ImageStream數據庫
OpenShift Container Registry 自動管理鏡像的版本,ImageStream包含全部鏡像的原數據,但ImageStream不包含Image數據。瀏覽器
使用Image Stream的目的是方便地將一組相關聯的鏡像進行整合管理和使用。安全
Openshift默認爲用戶定義了一系列開箱即用的Image Stream。微信
#查看Image Stream對象
#oc get is -n openshift
網絡
3. Native CI/CD factory
原生支持Pipeline的Build實現CI/CD過程架構
Jenkins Plugin能直接觸發openshift的構建和部署過程, 同時最吸引的特色是:負載均衡
4. 日誌與監控
Openshift集成EFK(Elasticsearch, Fluentd and Kibana),實現應用程序日誌聚合功能。從Openshift 3.7版本開始,能夠選擇部署Hawkular metrics或Prometheus作系統監控. 集成Source control management (SCM),建立BuildConfig。
5. 版本控制集成
Openshift容器平臺內置Git server的,也能夠部署Gitlab。
6. Security安全
基於RBAC體系管理用戶權限, 支持identity providers. 因爲羣集上運行的每一個容器都與service accounts相關聯,所以可能將secrects與這些service accounts相關聯,並使它們自動關聯到容器。這使基礎結構可以管理提取和推送Image的secrects,生成和部署組件,還容許應用程序代碼輕鬆利用這些secrects。開發人員(系統的客戶端)一般從客戶端程序進行 REST API 調用,例如或經過瀏覽器到 Web 控制檯,並使用 OAuth 承載令牌進行通訊。基礎結構組件(如節點)使用由系統生成的客戶端證書,包含他們的身份。在容器中運行的基礎結構組件使用關聯的令牌及其service account鏈接到 API。
7.Resources and API
有一些對象與Kubernates共享:
Pods
Namespaces(OpenShift中叫projects)
Deployment config
Services
Routes
Persistent volumes and Persistent volume claims
ConfigMaps與Secrets
一些Openshift加入對象
Images (例如Docker鏡像)
Image streams
Templates (應用的藍圖,相似Helm)
Build config(應用或service如何構建)
Routes (相似Kubernetes ingress,在Ingresses引入Kubernetes以前就有了)
8. 路由與負載均衡
Openshift的Router本質是基於Haproxy實現的,最終實現負載均衡。
結論
對於中小企業沒有容器平臺研發能力,建議仍是選擇Openshift. 有研發能力的選擇Kubernetes, 更加靈活定製開發。若是應用Kubernetes最新特性,就不選Openshift平臺,Openshift中Kubernetes版本更新沒有那麼快。Openshift仍是有必定學習曲線,但官方文檔還算詳細。OpenShift 做爲企業級容器平臺,打開從 PaaS 到 DevOps 和微服務的大門.
若有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注個人微信訂閱號:
做者:Petter Liu
出處:http://www.cnblogs.com/wintersun/ 本文版權歸做者和博客園共有,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。 該文章也同時發佈在個人獨立博客中-Petter Liu Blog。