我們?cè)黾恿苏{(diào)試模式功能,在用戶選擇調(diào)試模式啟動(dòng)容器時(shí),就會(huì)自動(dòng)啟動(dòng)容器內(nèi)的sshd,通過webssh進(jìn)入容器內(nèi)進(jìn)行調(diào)試,調(diào)試完成以后,通過一鍵保存為容器鏡像功能,上傳到倉庫,此時(shí)用戶可以選擇調(diào)試后的鏡像進(jìn)行啟動(dòng),這樣容器的調(diào)試方式就和傳統(tǒng)基于服務(wù)器開發(fā)的模式保持一致。

容器云面向服務(wù)的調(diào)試管理界面
3. 集成Ceph文件存儲(chǔ)
有些應(yīng)用要求具有上傳說明文件和配置腳本的功能,需要將一些配置或者圖片文件持久化,我們選擇Ceph分布式文件系統(tǒng)來做為共享的持久化環(huán)境,Ceph社區(qū)活躍度高,使用成熟度高是選擇它的一個(gè)主要原因。

然而在使用過程中,發(fā)現(xiàn)一個(gè)問題,如果應(yīng)用有1個(gè)實(shí)例時(shí),沒有問題,當(dāng)應(yīng)用需要擴(kuò)展多個(gè)實(shí)例時(shí),只有一個(gè)實(shí)例能夠成功啟動(dòng)掛載存儲(chǔ),通過閱讀Kubernetes的源碼發(fā)現(xiàn),Kubernetes對(duì)此作了限制,不允許一個(gè)volume綁定多個(gè)實(shí)例,我們對(duì)此進(jìn)行了專門的優(yōu)化來保證多個(gè)實(shí)例都能夠成功掛載存儲(chǔ)。
4. 持續(xù)集成She-Ra組件
在部署過程中應(yīng)用開發(fā)者通常有這么一個(gè)開發(fā)習(xí)慣,修改了應(yīng)用的一個(gè)Java文件后,就需要上傳整個(gè)war包,有些用戶開始使用ssh登錄到容器,進(jìn)行單個(gè)class文件的替換,這樣很容易導(dǎo)致線上版本管理混亂,應(yīng)用與代碼庫不對(duì)應(yīng),一開始我們引入了Jenkins,通過集成應(yīng)用的代碼,一鍵生成鏡像,然后進(jìn)行部署。
這在一定程度上解決了問題,但是Jenkins和容器云平臺(tái)系統(tǒng)集成度不夠友好, Jekins有自己?jiǎn)为?dú)的一套認(rèn)證體系,沒有辦法和容器云平臺(tái)很好的融合,不方便開發(fā)和運(yùn)維人員使用,用戶在使用時(shí),必須要先登錄Jenkins進(jìn)行鏡像構(gòu)建,再登錄容器云進(jìn)行服務(wù)部署,操作不夠方便,管理員管理兩套賬戶也不夠方便。因此我們獨(dú)立用go語言研發(fā)了新的持續(xù)集成工具She-Ra,通過提供REST接口,與容器云平臺(tái)相結(jié)合,通過版本控制工具一站式持續(xù)集成,全程可視化管控,為用戶提供簡(jiǎn)單、靈活的持續(xù)部署方式。
實(shí)現(xiàn)功能
容器云平臺(tái)核心功能模塊包括服務(wù)集成、代碼構(gòu)建、鏡像中心、集群管理、模板管理、新手入門六個(gè)部分。

- 代碼構(gòu)建:可與多種代碼庫關(guān)聯(lián),一鍵聯(lián)合構(gòu)建發(fā)布部署。
- 鏡像中心:多維度的鏡像查找、歸類,簡(jiǎn)單易用的操作讓鏡像管理不再繁瑣。
- 服務(wù)集成:服務(wù)實(shí)例動(dòng)態(tài)伸縮調(diào)控及健康監(jiān)測(cè),基于容器鏡像版本靈活的升級(jí)回滾策略,服務(wù)運(yùn)行狀況拓?fù)潢P(guān)系圖形化。
- 集群管理:多樣化的圖表展示集群節(jié)點(diǎn)狀態(tài)和服務(wù)狀態(tài),監(jiān)控整個(gè)集群的資源使用情況,如容器的內(nèi)存和CPU、存儲(chǔ)使用情況。
- 模板管理:提供常用的鏡像模板,降低使用難度,避免重復(fù)工作。
- 新手入門:平臺(tái)及各模塊說明文檔,方便用戶了解并快速上手使用容器云平臺(tái)。

在能力開放平臺(tái)首頁提供了容器云入口
應(yīng)用場(chǎng)景
容器云實(shí)現(xiàn)了應(yīng)用快速部署及便捷管理,租戶將部署包或者鏡像包,一鍵部署并運(yùn)行,支持選擇互聯(lián)網(wǎng)訪問和內(nèi)網(wǎng)訪問方式,并提供圖形化配置工具,運(yùn)維人員不再接觸任何物理機(jī)器,開發(fā)人員可以直接完成應(yīng)用的部署,體現(xiàn)了DevOps中運(yùn)維開發(fā)一體化的思想。
現(xiàn)已將自有大數(shù)據(jù)能力開放平臺(tái)原先部署在虛擬機(jī)上的自有工具包括元數(shù)據(jù)管理平臺(tái)、數(shù)據(jù)質(zhì)量管理平臺(tái)、BPM流程調(diào)度平臺(tái)、BI構(gòu)建、BDI分布式ETL工具已經(jīng)遷移到了容器云中;第三方提供的可視化報(bào)表工具也已在容器云環(huán)境發(fā)布給租戶使用;聯(lián)通大數(shù)據(jù)征信產(chǎn)品已經(jīng)在容器化改造過程中。
相比傳統(tǒng)的基于虛擬機(jī)、物理機(jī)分配、申請(qǐng)、部署、測(cè)試,基于容器軟件部署時(shí)間節(jié)省了80%以上,當(dāng)應(yīng)用部署頻繁度上升后,時(shí)間的節(jié)省將是驚人的,同時(shí)容器部署均為自動(dòng)化驅(qū)動(dòng),可靠性也是大幅度提升。