- OpenShift在企業(yè)中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 13字
- 2021-11-05 10:17:22
4.2 應用向OpenShift容器化遷移的方法
4.2.1 OpenShift應用準入條件
開發(fā)人員開發(fā)的應用想要在OpenShift上運行,在開發(fā)時就需要遵循一些標準。我們歸納和總結了這些標準,內容如下(包括但不限于):
·所采用技術及組件可容器化
OpenShift平臺以Linux或Windows內核以及容器運行時(如CRI-O)作為運行時環(huán)境,首先要滿足使用的開發(fā)語言以及中間件、數(shù)據(jù)庫等組件可被容器化。
·應用可自動化構建
應用采用如Maven、Gradle、Make或Shell等工具實現(xiàn)了構建和編譯,這將方便應用在PaaS平臺上實現(xiàn)自動化的編譯及構建。Java類應用建議使用Maven作為標準構建工具,Nodejs類應用建議使用npm作為標準構建工具。
·已實現(xiàn)應用配置參數(shù)或配置文件外部化
應用必須將配置參數(shù)外部化處理,尤其是如數(shù)據(jù)庫連接、用戶名等與部署環(huán)境相關的參數(shù)應使用獨立配置文件、環(huán)境變量或外部集中配置中心方式獲得,以便應用鏡像具有良好的可移植性,滿足不同環(huán)境的部署要求。
·已實現(xiàn)狀態(tài)外部化
應用狀態(tài)信息存儲于數(shù)據(jù)庫或緩存等外部系統(tǒng),最好保證應用實例本身實現(xiàn)無狀態(tài)化。
·已提供合理可靠的健康檢查接口
OpenShift平臺可以通過健康檢查接口判斷應用啟動和運行的健康狀態(tài),以便在應用出現(xiàn)故障時自動恢復。為了更好地利用平臺能力,就需要應用提供健康檢查接口。OpenShift支持三種檢查接口:HTTP檢查、Exec檢查、TCP Socket檢查。
·不涉及底層操作系統(tǒng)依賴及復雜的網(wǎng)絡通信機制
應用對外提供的接口應支持使用NAT和端口轉發(fā)進行訪問,不強依賴于底層操作系統(tǒng)及組播等網(wǎng)絡通信機制以便適應容器網(wǎng)絡環(huán)境,建議使用的網(wǎng)絡協(xié)議包括HTTP和TCP。
·輕量的部署交付件
輕量的應用交付件便于大規(guī)模集群中快速傳輸和分發(fā),更符合容器敏捷的理念。通常鏡像大小最大不要超過2GB。
·應用啟動時間在可接受范圍之內
過長的啟動時間將不能發(fā)揮容器敏捷的特性,從而影響在訪問流量突增情況下快速響應的能力。啟動時間應做到秒級,最長不能超過5分鐘。
- C語言程序設計案例教程
- HTML5移動Web開發(fā)技術
- Python快樂編程:人工智能深度學習基礎
- Effective C#:改善C#代碼的50個有效方法(原書第3版)
- AIRAndroid應用開發(fā)實戰(zhàn)
- 機器人Python青少年編程開發(fā)實例
- OpenNI Cookbook
- 實戰(zhàn)低代碼
- Serverless架構
- Visual Basic程序設計教程
- HTML5從入門到精通(第4版)
- 網(wǎng)絡數(shù)據(jù)采集技術:Java網(wǎng)絡爬蟲實戰(zhàn)
- Application Development with Parse using iOS SDK
- IPython Interactive Computing and Visualization Cookbook
- Go Systems Programming