电竞比分网-中国电竞赛事及体育赛事平台

分享

構建華云虛擬化平臺服務容器鏡像解析

 他不懂你的心 2022-11-23 發(fā)布于河南

智匯華云 | 構建華云虛擬化平臺服務容器鏡像解析

微信圖片_20221122135903

一,背景

openstack為代表的IaaS開源技術和以Docker為代表的PaaS/CaaS容器技術日益成熟,二者如何強強聯(lián)合,一直是業(yè)界頗為關心的焦點領域。Openstack是個大和全的IAAS開源體系框架,涉及的技術領域和組件非常多;對openstack的可用性和管理維護上是最讓人頭疼的的兩個難題;我們的華云虛擬化平臺是基于openstack演進而來,必不可少的會帶有這兩個問題,而通過docker容器化華云虛擬化平臺的管理方案解決以上兩個問題。經(jīng)過調研和對比,華云虛擬化平臺服務容器化選用kolla進行自動化構建。相比于其他部署工具,Kolla完全革新地使用了Docker容器技術,將每一個華云虛擬化平臺服務運行在不同的Docker容器中。

二,原理

Kolla是基于使用 Dockerfile + jinja2 實現(xiàn)的構建鏡像。大致原理是Kolla 中嵌入了dockerjinja2,使用 Jinja2 模板生成 Dockerfile 文件,然后把Dockerfile文件投喂給docker進行容器鏡像的構建,構建完成,還可以根據(jù)配置將鏡像推送的指定的 Registry 服務器。

圖示

描述已自動生成

                            (容器鏡像構建)

Jinja2模板示例

文本

描述已自動生成

Kolla在構建鏡像過程中可以通過讀取配置填充到jinja2的模板中,生成不同的架構的鏡像例如X86 或ARM。

三,詳細構建流程:

圖片包含 圖示

描述已自動生成

1,根據(jù)需要修改kolla-build的配置,構建時會讀入該配置

2,生成dokcerfile時會把 docker 整個目錄復制到一個臨時的工作目錄,然后在其中掃描包含有 Dockerfile.j2 文件的文件夾,一個文件夾就對應一個鏡像。

3,構建鏡像列表是將上一步生成的Dockerfile 都讀取到內(nèi)存,處理里面的 FROM 語句,可以獲得每個鏡像的 parent 名字。還有其它一些關于安裝方式的細節(jié)也要處理,不用過多關心。這一步完成我們就得到了一個鏡像列表

4,查找和建立鏡像關系是遍歷整個鏡像列表,把它們的依賴關系整理清楚,因為華云虛擬化平臺服務組件很多,各個組件之間存在依賴關系,需要把他們理清楚

5,過濾出目標鏡像列表:因為總共鏡像數(shù)量比較多,所以需要根據(jù)用戶提供的參數(shù)做一下過濾,過濾的參數(shù)可以通過配置文件指定

6,構建:真正進行容器鏡像的構建工作,此時是根據(jù)目標鏡像列表中的數(shù)據(jù)進行構建的

7,構建完后,會反饋哪些鏡像構建成功,哪些構建失敗

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多