OpenStack技術分享:Kolla patch指導書
一、升級準備(以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把修改保存到鏡像
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。
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指導書