如何基于國產(chǎn)CPU的云平臺構(gòu)建容器管理平臺?(上篇)
隨著“中興事件”不斷升級,引起了國人對國產(chǎn)自主可控技術(shù)的高度關(guān)注;本人作為所在單位的運維工程師,也希望能找到一個穩(wěn)定、能兼容國產(chǎn)CPU的一整套架構(gòu)方案,來構(gòu)建IaaS平臺和PaaS平臺,滿足單位對安全自主可控的需求。要基于全國產(chǎn)方式解決公司業(yè)務(wù)需求至少要在軟硬件層面滿足,而國內(nèi)基本都是基于x86解決方案,想找到滿足需求的國產(chǎn)化解決方案還是非常困難的事情。但筆者由于一個偶然的機會,接觸到了國產(chǎn)的芯片廠商和云計算廠商,并得知他們已經(jīng)實現(xiàn)了全國產(chǎn)化的云計算平臺,筆者也親自動手體驗了安裝部署該云計算平臺,并在其之上安裝部署了容器平臺,以下是筆者的分享。
***節(jié) 基于國產(chǎn)CPU的服務(wù)器
縱觀國內(nèi)能用于商用國產(chǎn)CPU服務(wù)器也沒幾家真實能用的;有的是基于3B1500國產(chǎn)商用28納米8核處理***主頻達1.5GHz;通過多方查閱相關(guān)資料目前性能無法滿足云平臺需求,而且還不支持虛擬化。
一個偶然機會參加2018年貴州大數(shù)據(jù)博覽會,參會過程中發(fā)現(xiàn)一個有意思的事情,就是在阿里云展臺看到國產(chǎn)云平臺+國產(chǎn)芯片宣傳字樣。
于是上前跟現(xiàn)場的工作人員進行簡單的溝通,了解到國產(chǎn)CPU是由華芯通設(shè)計開發(fā),這顆芯片內(nèi)置48顆物理核心,單核心2.6GHz,64Bit、支持虛擬化!沒想到這顆CPU居然支持虛擬化,看來距離我的想法又進一步,起碼已經(jīng)有硬件可以實現(xiàn)了。還了解到目前已經(jīng)有國產(chǎn)云平臺具備商用環(huán)境;名字叫ZStack for Alibaba Cloud,據(jù)工作人員介紹目前已有業(yè)務(wù)系統(tǒng)運行在基于華芯通CPU的云平臺上,云平臺就是ZStack。熱心的工作人員帶我去華芯通的專柜進行詳細參觀。
看到實物那一刻,我發(fā)現(xiàn)這個跟x86架構(gòu)的服務(wù)器區(qū)別并不大,之前一直以為它是一個類似路由器這樣的小盒子。沒想到ARM服務(wù)器工藝已和x86服務(wù)器自造工藝無太大差別。
第二節(jié) 國產(chǎn)云平臺
ZStack作為國內(nèi)為數(shù)不多的自研云平臺,根據(jù)官網(wǎng)信息已發(fā)布基于國產(chǎn)CPU架構(gòu)的版本,那么完全可以實現(xiàn)基于國產(chǎn)CPU架構(gòu)來構(gòu)建國產(chǎn)云平臺。
ZStack架構(gòu):
這架構(gòu)圖摘自他們的產(chǎn)品白皮書,從架構(gòu)上看整個邏輯還是比較清晰,各組件依賴度并不高,不會因為管理控制節(jié)點故障而影響業(yè)務(wù)系統(tǒng)。經(jīng)過仔細研究ZStack架構(gòu)發(fā)現(xiàn)以下特點:
全異步架構(gòu):異步消息、異步方法、異步HTTP調(diào)用
無狀態(tài)服務(wù):單次請求不依賴其他請求
無鎖架構(gòu):一致性哈希算法。
進程內(nèi)微服務(wù):微服務(wù)解耦。
再看看ZStack的功能架構(gòu)圖:
從圖里可以發(fā)現(xiàn),服務(wù)之間的交互統(tǒng)一走消息隊列,整個拓撲結(jié)構(gòu)不再緊密,實現(xiàn)星狀的架構(gòu),各服務(wù)之間只有消息的交互,服務(wù)之間基本獨立,添加或者刪除某個服務(wù)不會影響整個架構(gòu)(只會失去某些功能)。
回到文章的主題上,了解到以上信息后,我們決定使用華芯通CPU+ZStack國產(chǎn)化云平臺來實現(xiàn)容器平臺管理方案敲定后,接下來就是走借測流程。
通過之前展會聯(lián)系的華芯通負責(zé)人幫忙,在等了2、3個星期之后,機器寄到了單位。
上圖是他們的工程機,但做工已經(jīng)非常精細,完全不輸給主流大廠的X86服務(wù)器。接下來先部署云平臺,之前提到的ZStack是國產(chǎn)化云計算平臺的先行者,核心引擎也是完全開源的,筆者通過ZStack的官方網(wǎng)站,下載了他們的iso系統(tǒng),并根據(jù)用戶手冊的圖文教程做了燒錄,不得不說,整個文檔做的非常清晰,很快就完成了準備工作,下面就按照文檔進入安裝過程。
3、安裝云平臺
3.1啟動ARM服務(wù)器,從U盤啟動
通過Console連接看到如下一些信息,這是ARM服務(wù)器在進行自檢。
直到出現(xiàn)以下信息:
按Delete或者ESC建進入BIOS設(shè)置。
3.2 ARM服務(wù)器BIOS基本設(shè)置
3.2.1修改時間
3.2.2快速選擇引導(dǎo)設(shè)備
選擇引導(dǎo)設(shè)備后按回車鍵,快速引導(dǎo)。
3.2.3使用基于VNC方式安裝ZStack
當(dāng)選擇引導(dǎo)設(shè)備后,將進入啟動項選擇界面,如下圖所示:
選擇using VNC模式進行引導(dǎo)啟動;
選擇usingVNC模式引導(dǎo)啟動,即可實現(xiàn)通過VNC圖形模式進行安裝;
表示啟動VNC服務(wù),并自動從DHCP工具獲取IP地址同時自動分配默認VNC端口5901;當(dāng)出現(xiàn)這個界面即可使用VNC viewer客戶端進行連接。
3.2.4安裝設(shè)置
A. 選擇安裝模式
目前ZStack For ARM有3種安裝模式分別對應(yīng)為:
•企業(yè)版管理節(jié)點模式
• 計算節(jié)點模式
• 專家模式
可根據(jù)實施規(guī)劃進行選擇部署,選擇建議:
Ø 如果在實施方案中將管理節(jié)點獨立,則***次安裝時應(yīng)選擇管理節(jié)點模式;
Ø 如果用承載云主機,則安裝模式為計算節(jié)點;
根據(jù)實際情況選擇好對應(yīng)的安裝模式,然后點擊Done按鈕;
B. 配置磁盤分區(qū):
Ø 選擇磁盤:
選擇用于安裝ZStack的系統(tǒng)盤。
Ø 配置分區(qū)
Ø 自動分區(qū)。
下面就分區(qū)模式進行說明:
分區(qū)模式有UEFI 模式和Legacy模式兩種,應(yīng)與BIOS設(shè)置的引導(dǎo)模式一致。
▬ UEFI 模式
/boot:創(chuàng)建分區(qū) 1GB
/boot/efi:創(chuàng)建分區(qū) 500MB
swap(交換分區(qū)):創(chuàng)建分區(qū) 32GB
/(根分區(qū)):配置剩下容量
Ø 網(wǎng)絡(luò)設(shè)置:
選擇需要修改的網(wǎng)卡,點擊Configure按鈕進行配置;
設(shè)置密碼并開始安裝:
各模式安裝部署步驟都大同小異,官網(wǎng)可以直接下載用戶手冊。安裝完后的Web UI,非常簡潔大方,整個安裝過程超級簡單,以前一直都是使用OpenStack的,而這回使用ZStack 不到30分鐘部署成功,1個小時內(nèi)3個節(jié)點全部部署成功,還順帶初始化了環(huán)境。
安裝部署結(jié)束后,可以看到還有網(wǎng)絡(luò)拓撲功能
安裝總結(jié):
底層硬件是ARM服務(wù)器,云平臺底層也是基于ARM64位的系統(tǒng)。安裝部署超級方便,管理控制層與業(yè)務(wù)層完全獨立,就是說如果管控節(jié)點宕掉,根本就不影響業(yè)務(wù)系統(tǒng)的正常運行,這一點是OpenStack無法實現(xiàn)的。在測試過程中嘗試各種斷電關(guān)機測試,整個平臺運行依然不受影響,穩(wěn)定性非常高。目前在ZStack For ARM 云平臺上輕松跑了16個ARM架構(gòu)的云主機。