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

4.2 應(yīng)用向OpenShift容器化遷移的方法

4.2.1 OpenShift應(yīng)用準(zhǔn)入條件

開發(fā)人員開發(fā)的應(yīng)用想要在OpenShift上運(yùn)行,在開發(fā)時(shí)就需要遵循一些標(biāo)準(zhǔn)。我們歸納和總結(jié)了這些標(biāo)準(zhǔn),內(nèi)容如下(包括但不限于):

·所采用技術(shù)及組件可容器化

OpenShift平臺(tái)以Linux或Windows內(nèi)核以及容器運(yùn)行時(shí)(如CRI-O)作為運(yùn)行時(shí)環(huán)境,首先要滿足使用的開發(fā)語言以及中間件、數(shù)據(jù)庫等組件可被容器化。

·應(yīng)用可自動(dòng)化構(gòu)建

應(yīng)用采用如Maven、Gradle、Make或Shell等工具實(shí)現(xiàn)了構(gòu)建和編譯,這將方便應(yīng)用在PaaS平臺(tái)上實(shí)現(xiàn)自動(dòng)化的編譯及構(gòu)建。Java類應(yīng)用建議使用Maven作為標(biāo)準(zhǔn)構(gòu)建工具,Nodejs類應(yīng)用建議使用npm作為標(biāo)準(zhǔn)構(gòu)建工具。

·已實(shí)現(xiàn)應(yīng)用配置參數(shù)或配置文件外部化

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

·已實(shí)現(xiàn)狀態(tài)外部化

應(yīng)用狀態(tài)信息存儲(chǔ)于數(shù)據(jù)庫或緩存等外部系統(tǒng),最好保證應(yīng)用實(shí)例本身實(shí)現(xiàn)無狀態(tài)化。

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

OpenShift平臺(tái)可以通過健康檢查接口判斷應(yīng)用啟動(dòng)和運(yùn)行的健康狀態(tài),以便在應(yīng)用出現(xiàn)故障時(shí)自動(dòng)恢復(fù)。為了更好地利用平臺(tái)能力,就需要應(yīng)用提供健康檢查接口。OpenShift支持三種檢查接口:HTTP檢查、Exec檢查、TCP Socket檢查。

·不涉及底層操作系統(tǒng)依賴及復(fù)雜的網(wǎng)絡(luò)通信機(jī)制

應(yīng)用對(duì)外提供的接口應(yīng)支持使用NAT和端口轉(zhuǎn)發(fā)進(jìn)行訪問,不強(qiáng)依賴于底層操作系統(tǒng)及組播等網(wǎng)絡(luò)通信機(jī)制以便適應(yīng)容器網(wǎng)絡(luò)環(huán)境,建議使用的網(wǎng)絡(luò)協(xié)議包括HTTP和TCP。

·輕量的部署交付件

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

·應(yīng)用啟動(dòng)時(shí)間在可接受范圍之內(nèi)

過長的啟動(dòng)時(shí)間將不能發(fā)揮容器敏捷的特性,從而影響在訪問流量突增情況下快速響應(yīng)的能力。啟動(dòng)時(shí)間應(yīng)做到秒級(jí),最長不能超過5分鐘。

主站蜘蛛池模板: 南充市| 许昌县| 中西区| 阜阳市| 兴业县| 肇庆市| 枣阳市| 玉山县| 西乌珠穆沁旗| 察雅县| 珠海市| 宁津县| 丽水市| 蓬安县| 禄劝| 鄂温| 陆丰市| 故城县| 谢通门县| 长葛市| 乐昌市| 纳雍县| 岱山县| 灌云县| 监利县| 宁强县| 灵璧县| 尉氏县| 宜兰县| 土默特右旗| 盐池县| 礼泉县| 崇文区| 高邑县| 剑河县| 河东区| 神池县| 陕西省| 曲阳县| 星座| 谢通门县|