Openshift

天府雲創發表於2018-03-13

OpenShift

 
OpenShift是紅帽的雲開發平臺即服務(PaaS)。自由和開放原始碼的雲端計算平臺使開發人員能夠建立、測試和執行他們的應用程式,並且可以把它們部署到雲中。Openshift廣泛支援多種程式語言和框架,如Java,Ruby和PHP等。另外它還提供了多種整合開發工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基於一個開源生態系統為移動應用,資料庫服務等,提供支援。

官方網站:https://www.openshift.com/

OpenShift Online服務構建在Red Hat Enterprise Linux上。Red Hat Enterprise Linux提供整合應用程式,執行庫和一個配置可伸縮的多使用者單例項的作業系統,以滿足企業級應用的各種需求。

簡介


全球開源解決方案領導者紅帽公司推出了OpenShift,一個面向開源開發人員開放的平臺即服務(PaaS)。
紅帽OpenShift通過為開發人員提供在語言、框架和雲上的更多的選擇,使開發人員可以構建、測試、執行和管理他們的應用,從而重新定義了 PaaS市場。以紅帽全面的JBoss專業知識為基礎,OpenShift憑藉創新的特性(包括CDI)領導PaaS市場,並支援Java EE 6,從而將PaaS的能力擴充套件到更豐富和更苛刻的應用。建立在紅帽開源領導地位基礎上的OpenShift旨在終結PaaS的廠商鎖定,使使用者可以選擇自 己應用執行在哪個雲提供商的雲中。OpenShift將作為線上服務來提供。
Hurwitz and Associates總裁兼CEO Judith Hurwitz說:“雲端計算開始改變開源開發者編寫和提交應用的方式。因此平臺及服務的市場開始快速擴張。紅帽的OpenShift將通過為開發人員提供多種開發和部署選擇,來幫助他們。”
紅帽OpenShift提供比任何PaaS更多的靈活性,它支援用於Java、Python、PHP、Perl和Ruby的更多的開發框架,包括 Spring、Seam、Weld、CDI、Rails、Rack、Symfony、Zend Framework、Twisted、Django和Java E。它包含SQL和NoSQL資料儲存和一個分散式檔案系統
紅帽公司副總裁兼CTO Brian Stevens說:“開發人員為創新和選擇而轉向開源。我們通過OpenShift提供了第一個能夠滿足這些需要的平臺即服務。通過提供最廣泛的平臺和語言、框架和得到支援的雲提供者的選擇,OpenShift給予開發人員他們一直夢寐以求的雲環境。”
OpenShift獨一無二的優勢是它為PaaS帶來行業領先的紅帽和JBoss的生態環境,使開發人員可以利用業界最廣泛的中介軟體服務。例如,OpenShift支援MongoDB和其它獲得紅帽企業 Linux認證的服務。由於支援廣泛的框架和語言,包括Java、PHP、Python和Ruby,紅帽OpenShift為雲端計算的開發人員提供更全面 的功能集合。
除了設計滿足新的雲開發人員需要的服務外,OpenShift也是提供紅帽企業級JBoss服務(如交易、業務規則、交易與訊息)的第一個公共 PaaS,從而為企業開發人員提供一條升級到雲的方便途徑。由於以紅帽在作業系統、虛擬化和JBoss 企業中介軟體的經驗和生態環境為基礎,OpenShift可以惟一地滿足新的雲開發人員和企業的需要。
OpenShift使用模組的概念,又叫做cartridges,支援Java、PHP、Python、Perl、Node.js,資料庫語言則支援MySQL、MongoDB和PostgreSQL。另外,OpenShift還支援諸如Jenkins和Cron這樣的工具,和包括Oracle業務流程管理套件以及Red Hat Jboss業務規則管理系統(BRMS)。
OpenShift使用的架構由單個節點組成,以容納應用程式程式碼和服務,同時還有一系列的單獨代理來管理節點和提供服務。除此之外,OpenShift的架構還包括一個訊息系統將節點和代理繫結到一起,並且使用RESTful的API同外部工具整合。

建立過程


以下是紅帽介紹如何利用AutoShift建立應用程式的過程:
  • 建立一個應用程式在OpenShift中(用命令列或通過他們的IDE)
  • 編譯應用程式(在Vi,TextMate,Eclipse,Visual Studio或任何軟體中)
  • 將應用程式程式碼放入OpenShift(再次使用命令列或通過他們的IDE) 

語言環境


  • Java(JBoss Enterprise Application Server,JBoss Application Server,JBoss Enterprise Web server / Tomcat) 
  • PHP
  • Zend Server
  • Python
  • ruby
  • Perl
  • node.js
  • go

資料庫


  • MongoDB
  • MySQL
  • PostgreSQL

理論部分講完了,直接上技術乾貨部分。

OpenShift安裝

安裝環境

centos 7.4 64位


關閉selinux

vim /etc/selinux/config

關閉防火牆

systemctl stop firewalld

systemctl disable firewalld


設定主機名

hostnamectl set-hostname openshift.example.com


新增主機名解析

vim /etc/hosts

10.0.0.223 openshift.example.com


安裝docker

yum install docker

systemctl enable docker

systemctl start docker

預設安裝的版本是1.12.6


新增阿里雲映象加速器

vim /etc/docker/daemon.json

如何操作看阿里雲官方文件。


下載OpenShift

wget 

https://github.com/openshift/origin/releases/download/v3.7.0/openshift-origin-server-v3.7.0-7ed6862-linux-64bit.tar.gz

解壓到/usr/local/src/openshift


編輯 /etc/profile


source /etc/profile


啟動OpenShift


openshift start&


訪問OpenShift

在訪問主機新增域名解析

sudo vim /etc/hosts

10.0.0.223 openshift.example.com


訪問https://openshift.example.com:8443

預設使用者名稱和密碼分別是dev, dev.


建立專案my-project



釋出應用 (選擇專案右上角下拉選單『Deploy』)


輸入openshift/hello-openshift後,單擊右邊放大鏡圖示按鈕, 然後選擇Deploy.


釋出成功如下圖所示



檢視service的訪問地址,並測試。



注意:只能在openshift主機上測試,因為service ip是叢集範圍內的虛擬地址。


接下來新增route

1.以管理員登入並切換到default專案

oc login -u system:admin

oc project default

2. 建立Router

oadm policy add-scc-to-user privileged system:serviceaccount:default:router
oadm router router --replicas=1 --service-account=router

3.檢視router狀態


4. 新增route



在測試主機上新增域名資訊

本機測試環境是MacOS

sudo vim /etc/hosts

10.0.0.223 hello.example.com

10.0.0.223 openshift.example.com


通過瀏覽器訪問service

【參考資料】

1、OpenShift: Container Application Platform by Red Hat, Built on Docker and Kubernetes https://www.openshift.com/

2、How are OpenShift, OpenStack, Kubernetes, and Docker comparable and different? - Quora https://www.quora.com/How-are-OpenShift-OpenStack-Kubernetes-and-Docker-comparable-and-different

OpenShift,OpenStack,Kubernetes(k8s)和Docker有何不同?

3、DockerInfo-Docker容器技術教程,Docker資訊傳播和服務平臺 http://www.dockerinfo.net/

4、什麼是OpenStack 開源的雲端計算管理平臺專案_OpenStack_指令碼之家 http://www.jb51.net/article/96988.htm

5、AbiCloud 雲端計算平臺 - CSDN部落格 http://blog.csdn.net/hanxin1987216/article/details/6641025

6、雲端計算服務平臺的執行和維護管理 - 期刊論文 - 道客巴巴 http://www.doc88.com/p-6961378817095.html

相關文章