Harbor升级和数据库迁移手册
Harbor升級(jí)和數(shù)據(jù)庫(kù)遷移手冊(cè)
?
當(dāng)升級(jí)一個(gè)已經(jīng)存在的Harbor實(shí)例到新版本時(shí),需要遷移數(shù)據(jù)庫(kù)數(shù)據(jù)。參考What's New in Harbor Database Schema查看數(shù)據(jù)庫(kù)發(fā)生了哪些變化,如果有的話,就需要進(jìn)行數(shù)據(jù)庫(kù)遷移操作,因?yàn)檫w移可能會(huì)改變數(shù)據(jù)庫(kù)模式,所以在任何數(shù)據(jù)遷移操作之前,都一定要先備份數(shù)據(jù)庫(kù)。
?
如果你是第一次安裝habor,或者新安裝的數(shù)據(jù)庫(kù)的版本和之前的數(shù)據(jù)庫(kù)版本一致,那么你不需要做任何數(shù)據(jù)庫(kù)的遷移操作。
?
注意:
從v1.2開(kāi)始,你需要使用發(fā)布版本號(hào)做為遷移鏡像的tag,新版本不再使用“l(fā)atest”這個(gè)tag了。
在任何數(shù)據(jù)操作之前,都必須要備份數(shù)據(jù)。
?
升級(jí)Harbor和遷移數(shù)據(jù)
?
1.????? 登到harbor所在的服務(wù)器上,如果harbor還在運(yùn)行,就停止并刪除對(duì)應(yīng)的Harbor實(shí)例。
cd harbor
docker-compose down
2.???? 備份harbor當(dāng)前的文件,確保在需要的時(shí)候可以回滾到當(dāng)前的這個(gè)版本。
cd ..
mv harbor /my_backup_dir/harbor
?
3.????? 在github上獲取最新的harbor發(fā)布版安裝包,下載地址:https://github.com/vmware/harbor/releases
?
4.????? 在更新harbor之前,先做數(shù)據(jù)庫(kù)遷移操作。這個(gè)遷移工具以docker鏡像的方式提供,所以你需要從docker hub上pull鏡像。在下面的命令里,用harbor的發(fā)布版本號(hào)來(lái)替換[tag]:
docker pull vmware/harbor-db-migrator:[tag]
?
5.????? 備份數(shù)據(jù)庫(kù)到一個(gè)目錄,比如/path/to/backup。如果目錄不存在的話,你需要自己創(chuàng)建,并且數(shù)據(jù)庫(kù)的用戶(hù)名和密碼需要通過(guò)環(huán)境變量“DB_USR”和“DB_PWD”來(lái)提供。
docker run -ti --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backupvmware/harbor-db-migrator:[tag] backup
6.???? 更新數(shù)據(jù)庫(kù)模式并遷移數(shù)據(jù):
docker run -ti --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql vmware/harbor-db-migrator:[tag] up head
7.???? 解壓新的harbor安裝包,并切換到工作目錄./harbor中去。通過(guò)修改harbor.cfg來(lái)配置harbor。
通過(guò)修改harbor.cfg來(lái)配置harbor,你可能需要參考第二步操作時(shí)備份的配置文件。參考安裝和配置手冊(cè)獲取更多的信息。由于新版本的harbor.cfg配置文件的格式和內(nèi)容可能會(huì)發(fā)生改變,所以不能直接從之前的版本來(lái)復(fù)制harbor.cfg配置文件。
?
重要:如果你更新harbor之前使用的認(rèn)證方式為LDAP/AD,那邊在你加載啟動(dòng)新版本的harbor之前,必須要確保harbor.cfg中的auth_mode配置成ldap_auth,否則,更新之后用戶(hù)將無(wú)法登陸。
?
為了幫助將harbor.cfg配置文件從v0.5.0版本遷移到v1.1.x版本,提供了一個(gè)腳本,描述如下。對(duì)于其他版本的配置文件,需要手動(dòng)遷移harbor.cfg文件。
cd harbor
./upgrade --source-loc source_harbor_cfg_loc--source-version 0.5.0 --target-loc target_harbor_cfg_loc --target-version1.1.x
?
注意:在執(zhí)行這個(gè)腳本之后,要重新檢查一遍,確保harbor.cfg中的配置都是正確的。如果有需要的話,你可以修改harbor.cfg。
?
8.???? 切換到./harbor目錄,執(zhí)行./install.sh腳本安裝新版本harbor實(shí)例。如果你安裝harbor選擇其他組件,比如Notary或者Clair,可參考安裝和配置手冊(cè)獲取更新信息。
?
升級(jí)后回滾
?
不管什么原因,如果你想回滾到之前的harbor版本,可以參考如下步驟:
?
1.???? 停harbor服務(wù)。
cd harbor
docker-compose down
?
2.???? 從備份文件/path/to/backup中恢復(fù)數(shù)據(jù)庫(kù)。
docker run -ti --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backupvmware/harbor-db-migrator:[tag] restore
?
3.???? 刪除當(dāng)前的harbor實(shí)例。
rm -rf harbor
?
4.???? 恢復(fù)老版本的harbor文件。
mv /my_backup_dir/harbor harbor
?
5.???? 使用之前的配置重啟harbor服務(wù)。
如果之前版本是通過(guò)發(fā)布的二進(jìn)制包安裝的:
cd harbor
./install.sh
?
注意:如果你安裝harbor選擇其他組件,比如Notary或者Clair,可參考安裝和配置手冊(cè)獲取更新信息。
?
如果之前的harbor版本是通過(guò)源碼安裝的:
cd harbor
docker-compose up --build -d
?
遷移工具參考
?
使用help命令顯示遷移工具幫助信息:
docker run --rm -e DB_USR=root -e DB_PWD=xxxxvmware/harbor-db-migrator:[tag] help
?
使用test命令測(cè)試mysql連接:
docker run --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql vmware/harbor-db-migrator:[tag] test
?
原文:https://github.com/vmware/harbor/blob/master/docs/migration_guide.md
?
轉(zhuǎn)載于:https://blog.51cto.com/dangzhiqiang/1962874
總結(jié)
以上是生活随笔為你收集整理的Harbor升级和数据库迁移手册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php : 常用函数
- 下一篇: linux cmake编译源码,linu