1. 程式人生 > >OpenStack技術分享:Kolla patch指導書

OpenStack技術分享:Kolla patch指導書

containe lease 工程 安全 globals follow 原來 容器 tac

摘要:Kolla項目的出現大大簡化了OpenStack安裝流程,提升了部署效率,這也是OpenStack社區發展極其重要的一筆。接下來將由九州雲工程師曹袁即OpenStack社區Kolla項目Core分享有關升級的精彩內容:

一、升級準備(以horizon為例)

#kolla image更新方式

1、研發/社區已合並patch,測試通過後,提供最新build的image(一般是tar包)
a、拷貝鏡像包到控制節點
b、通過docker load命令加載鏡像到docker
c、使用docker tag image_id repository:new_tag把鏡像做好標記
(repository需要和原先保持一樣,new_tag不能和原來一樣)

2、提供patch鏈接(http://172.16.30.17/#/c/3316/)
a、手動下載diff.zip包到本地,解壓之後上傳到horizon運行節點
b、通過docker命令,拷貝diff包到容器(docker cp xxx.diff horizon:/root)
c、進入容器,並切換到site-packages目錄
d、使用git命令進行代碼更新(git apply /root/xxx.diff),並檢查確認
e、執行collectstatic&compress命令(horion需要,其他項目跳過)
f、重啟容器,並測試
h、使用docker commit container repository:new_tag把修改保存到鏡像

(repository需要和原先保持一樣,new_tag不能和原來一樣)

3、將鏡像push到倉庫(本地或者共用)
dokcer push repository:new_tag

4、確認push成功
檢查倉庫路徑下,是否已經生成對應tag文件(實際以倉庫路徑為準)
ls 倉庫路徑
/namespace/project/image_name/_mainfile/tags

5、備份kolla-ansbile(centos環境下,運行代碼在/usr/share/kolla-ansible/)
cp –r /usr/share/kolla-ansible/ /opt

二、升級操作

在此以horizon為例,假設new_tag,CentOS。

#獲取待升級項目(horizon)的default/main.yml中tag定義的名稱值,此處為“horizon_tag”
vim /usr/share/kolla-
ansible/ansible/roles/horizon/defaults/main.yml

技術分享圖片
註:不是/etc/kolla/globals.yml配置文件的release_tag

#編輯/etc/kolla/globals.yml,添加如下配置:
horizon_tag:new_tag

#pull鏡像到控制節點
kola-ansible –i inventory/mutinode pull —tag horizon

#執行升級操作
kola-ansible –i inventory/mutinode upgrade —tag horizon

(P版本之後的kolla-ansible,可以通過增—host 參數支持單節點升級)

三、驗證升級成功

#驗證horizon已經運行new_tag版本的image,且運行狀態為up

技術分享圖片
#驗證相關服務,確保升級成功

四、失敗回退

#還原待升級項目(horizon)的default/main.yml中tag
vim /usr/share/kolla-
ansible/ansible/roles/horizon/defaults/main.yml

#執行回退操作
kola-ansible –i inventory/mutinode upgrade —tag horizon

以上是對Kolla升級的簡要概述,供大家參考。一直以來,Kolla項目是九州雲貢獻最為突出的領域。在九州雲工程師張雷即OpenStack社區Kolla項目PTL的帶領下,Kolla項目實現了諸多新特性,例如已經實現kolla升級,在R版本kolla將朝著零宕機升級這個目標繼續前行。接下來,張雷及其團隊將會陸續為大家分享Kolla方面的相關技術內容,敬請持續關註!

關於九州雲99Cloud

九州雲(99Cloud.Inc)成立於2012年,是中國第一家從事OpenStack和相關開源服務的專業公司。公司成立六年,秉承“開源 · 賦能變革”的理念,已經從單一的OpenStack產品提供商,發展成為涵蓋雲核心、雲運營、雲運維和雲安全等多個領域的開源軟件和服務提供商。九州雲已支持了國家電網、×××、中國銀聯、中國移動、中國電信、中國聯通、中國資源衛星、中航信(航旅縱橫)、eBay、國際陸港集團、中國人壽、萬達信息、東風汽車、諾基亞等重量級客戶。在2018年最新的Queen發行版排名中,九州雲在核心模塊貢獻躍居全球第四,中國第二,其中在容器部署Kolla項目、NFV編排Tacker項目等重量級項目上貢獻全球第一。

OpenStack技術分享:Kolla patch指導書