- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- 魏新宇 郭躍軍
- 724字
- 2021-11-05 10:17:23
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分鐘。