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

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分鐘。

主站蜘蛛池模板: 赤水市| 顺义区| 兴化市| 塔河县| 竹溪县| 昭通市| 定安县| 滕州市| 阳泉市| 永平县| 奉新县| 东丽区| 梓潼县| 苏尼特右旗| 定南县| 山阳县| 青田县| 荣昌县| 安阳市| 商都县| 尼玛县| 黑河市| 翁源县| 宽甸| 东丰县| 武宁县| 康乐县| 法库县| 仲巴县| 和平区| 民和| 平塘县| 林甸县| 耒阳市| 大英县| 宁乡县| 化州市| 安远县| 崇文区| 囊谦县| 贵定县|