Openshift與Kubernetes的區別
Openshift首個支持企業級 Java 的 PaaS 平台,支持 JEE6 與 JBoss 和其 Eclipse 集成開發環境以及 Maven 和 Jenkins 自動化。使用 OpenShift 的人數及社區人數在不斷增長。OpenShift基於Kubernetes,增加哪兒些功能?有什么區別?
1.Openshift 的 Web console
Openshift的web console采用node.js 與angularJS開發,支持實時推送,如下示例
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的構建和部署過程, 同時最吸引的特點是:
- 支持流水線Pipeline這種模式,便於在同一集群的多個項目(對應開發,測試,生產)環境或者多個集群(對應開發集群,Stage集群,生產集群)中進行發布。
- 流水線支持自定義不同的階段,每個階段完成不同的任務,比如可以定義階段為: CI環境部署->Stage環境部署->Prd部署
- 一條流水線支持包含多個微服務,針對項目中包含多個微服務,一旦定制好流水線,就可以重復運行
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 和微服務的大門.
今天先到這兒,希望對技術領導力, 企業管理,系統架構設計與評估,團隊管理, 項目管理, 產品管理,團隊建設 有參考作用 , 您可能感興趣的文章:
領導人怎樣帶領好團隊
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
視頻直播平台的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟件工程的迷思
企業項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
項目管理溝通計划
構建高效的研發與自動化運維
某大型電商雲平台實踐
互聯網數據庫架構設計思路
IT基礎架構規划方案一(網絡系統規划)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之采購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想了解更多軟件設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 該文章也同時發布在我的獨立博客中-Petter Liu Blog。