一 OpenShift特性 1.1 OpenShift概述 Red Hat OpenShijft Container Platform (OpenShift)是一個容器應用程式平臺,它為開發人員和IT組織提供了一個雲應用程式平臺,用於在安全的、可伸縮的資源上部署新應用程式,而配置和管理開銷最小。 O ...
一 OpenShift特性
1.1 OpenShift概述
Red Hat OpenShijft Container Platform (OpenShift)是一個容器應用程式平臺,它為開發人員和IT組織提供了一個雲應用程式平臺,用於在安全的、可伸縮的資源上部署新應用程式,而配置和管理開銷最小。 OpenShift構建於Red Hat Enterprise Linux、Docker和Kubernetes之上,為當今的企業級應用程式提供了一個安全且可伸縮的多租戶操作系統,同時還提供了集成的應用程式運行時和庫。 OpenShift帶來了健壯、靈活和可伸縮的特性。容器平臺到客戶數據中心,使組織能夠實現滿足安全性、隱私性、遵從性和治理需求的平臺。不願意管理自己的OpenShift集群的客戶可以使用Red Hat提供的公共雲平臺OpenShift Online。1.2 OpenShift特性
OpenShift容器平臺和OpenShift Online都是基於OpenShift Origin開源軟體項目的,該項目本身使用了許多其他開源項目,如Docker和Kubernetes。 應用程式作為容器運行,容器是單個操作系統內的隔離分區。容器提供了許多與虛擬機相同的好處,比如安全性、存儲和網路隔離,同時需要的硬體資源要少得多,啟動和終止也更快。OpenShift使用容器有助於提高平臺本身及其承載的應用程式的效率、靈活性和可移植性。 OpenShift的主要特性如下:- 自助服務平臺:OpenShift允許開發人員使用Source-to-Image(S21)從模板或自己的源代碼管理存儲庫創建應用程式。系統管理員可以為用戶和項目定義資源配額和限制,以控制系統資源的使用。
- 多語言支持:OpenShift支持Java、Node.js、PHP、Perl以及直接來自Red Hat的Ruby。同時也包括來自合作伙伴和更大的Docker社區的許多其他代碼。MySQL、PostgreSQL和MongoDB資料庫。Red Hat還支持在OpenShift上本地運行的中間件產品,如Apache httpd、Apache Tomcat、JBoss EAP、ActiveMQ和Fuse。
- 自動化:OpenShift提供應用程式生命周期管理功能,當上游源或容器映像發生更改時,可以自動重新構建和重新部署容器。根據調度和策略擴展或故障轉移應用程式。
- 用戶界面:OpenShift提供用於部署和監視應用程式的web UI,以及用於遠程管理應用程式和資源的CLi。它支持Eclipse IDE和JBoss Developer Studio插件,以便開發人員可以繼續使用熟悉的工具,並支持REST APl與第三方或內部工具集成。
- 協作:OpenShift允許在組織內或與更大的社區共用項目。
- 可伸縮性和高可用性:OpenShift提供了容器多租戶和一個分散式應用程式平臺,其中包括彈性,以處理隨需增加的流量。它提供了高可用性,以便應用程式能夠在物理機器宕機等事件中存活下來。OpenShift提供了對容器健康狀況的自動發現和自動重新部署。
- 容器可移植性:在OpenShift中,應用程式和服務使用標準容器映像進行打包,組合應用程式使用Kubernetes進行管理。這些映像可以部署到基於這些基礎技術的其他平臺上。
- 開源:沒有廠商鎖定。
- 安全性:OpenShift使用SELinux提供多層安全性、基於角色的訪問控制以及與外部身份驗證系統(如LDAP和OAuth)集成的能力。
- 動態存儲管理:OpenShift使用Kubernetes持久捲和持久捲聲明的方式為容器數據提供靜態和動態存儲管理
- 基於雲(或不基於雲):可以在裸機伺服器、活來自多個供應商的hypervisor和大多數IaaS雲提供商上部署OpenShift容器平臺。
- 企業級:Red Hat支持OpenShift、選定的容器映像和應用程式運行時。可信的第三方容器映像、運行時和應用程式由Red Hat認證。可以在OpenShift提供的高可用性的強化安全環境中運行內部或第三方應用程式。
- 日誌聚合和metrics:可以在中心節點收集、聚合和分析部署在OpenShift上的應用程式的日誌信息。OpenShift能夠實時收集關於應用程式的度量和運行時信息,並幫助不斷優化性能。
- 其他特性:OpenShift支持微服務體繫結構,OpenShift的本地特性足以支持DevOps流程,很容易與標準和定製的持續集成/持續部署工具集成。
二 OpenShift架構
2.1 OpenShift架構概述
OpenShift容器平臺是一組構建在Red Hat Enterprise Linux、Docker和Kubernetes之上的模塊化組件和服務。OpenShift增加了遠程管理、多租戶、增強的安全性、應用程式生命周期管理和麵向開發人員的自服務介面。 OpenShift的架構:- RHEL:基本操作系統是Red Hat Enterprise Linux;
- Docker:提供基本的容器管理API和容器image文件格式;
- Kubernetes:管理運行容器的主機集群(物理或虛擬主機)。它處理描述由多個資源組成的多容器應用程式的資源,以及它們如何互連;
- Etcd:一個分散式鍵值存儲,Kubernetes使用它來存儲OpenShift集群中容器和其他資源的配置和狀態信息。