官术网_书友最值得收藏!

4.2 應用向OpenShift容器化遷移的方法

4.2.1 OpenShift應用準入條件

開發人員開發的應用想要在OpenShift上運行,在開發時就需要遵循一些標準。我們歸納和總結了這些標準,內容如下(包括但不限于):

·所采用技術及組件可容器化

OpenShift平臺以Linux或Windows內核以及容器運行時(如CRI-O)作為運行時環境,首先要滿足使用的開發語言以及中間件、數據庫等組件可被容器化。

·應用可自動化構建

應用采用如Maven、Gradle、Make或Shell等工具實現了構建和編譯,這將方便應用在PaaS平臺上實現自動化的編譯及構建。Java類應用建議使用Maven作為標準構建工具,Nodejs類應用建議使用npm作為標準構建工具。

·已實現應用配置參數或配置文件外部化

應用必須將配置參數外部化處理,尤其是如數據庫連接、用戶名等與部署環境相關的參數應使用獨立配置文件、環境變量或外部集中配置中心方式獲得,以便應用鏡像具有良好的可移植性,滿足不同環境的部署要求。

·已實現狀態外部化

應用狀態信息存儲于數據庫或緩存等外部系統,最好保證應用實例本身實現無狀態化。

·已提供合理可靠的健康檢查接口

OpenShift平臺可以通過健康檢查接口判斷應用啟動和運行的健康狀態,以便在應用出現故障時自動恢復。為了更好地利用平臺能力,就需要應用提供健康檢查接口。OpenShift支持三種檢查接口:HTTP檢查、Exec檢查、TCP Socket檢查。

·不涉及底層操作系統依賴及復雜的網絡通信機制

應用對外提供的接口應支持使用NAT和端口轉發進行訪問,不強依賴于底層操作系統及組播等網絡通信機制以便適應容器網絡環境,建議使用的網絡協議包括HTTP和TCP。

·輕量的部署交付件

輕量的應用交付件便于大規模集群中快速傳輸和分發,更符合容器敏捷的理念。通常鏡像大小最大不要超過2GB。

·應用啟動時間在可接受范圍之內

過長的啟動時間將不能發揮容器敏捷的特性,從而影響在訪問流量突增情況下快速響應的能力。啟動時間應做到秒級,最長不能超過5分鐘。

主站蜘蛛池模板: 乌苏市| 广南县| 朝阳市| 达州市| 福泉市| 梁山县| 平和县| 海林市| 凤冈县| 阳新县| 海城市| 岗巴县| 石首市| 城市| 西畴县| 右玉县| 若羌县| 光山县| 滦南县| 宁城县| 五华县| 沽源县| 天长市| 牡丹江市| 布拖县| 额敏县| 长治县| 盘山县| 嘉荫县| 南通市| 龙口市| 五莲县| 黑龙江省| 通渭县| 高台县| 普兰县| 文昌市| 揭东县| 金秀| 涞源县| 临江市|