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

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

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

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

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

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

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

應(yīng)用采用如Maven、Gradle、Make或Shell等工具實(shí)現(xiàn)了構(gòu)建和編譯,這將方便應(yīng)用在PaaS平臺上實(shí)現(xiàn)自動化的編譯及構(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)信息存儲于數(shù)據(jù)庫或緩存等外部系統(tǒng),最好保證應(yīng)用實(shí)例本身實(shí)現(xiàn)無狀態(tài)化。

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

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

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

應(yīng)用對外提供的接口應(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)用啟動時間在可接受范圍之內(nèi)

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

主站蜘蛛池模板: 衡东县| 苍南县| 汉阴县| 朝阳县| 乃东县| 温宿县| 广汉市| 泽州县| 彭州市| 五大连池市| 阜南县| 合阳县| 武宁县| 军事| 剑阁县| 临漳县| 阳春市| 星座| 弋阳县| 沈丘县| 永清县| 桐乡市| 临颍县| 永寿县| 宿迁市| 南召县| 西畴县| 蓬溪县| 雷波县| 巴中市| 水城县| 泸定县| 黔江区| 会同县| 珲春市| 湘乡市| 江津市| 剑河县| 临沂市| 公安县| 通化市|