Harbor打怪升級


目錄

一、目標

二、V1.4升級至V1.6

三、V1.6升級至V1.9

四、V1.9升級至V2.0

五、寫在最后

一、目標

Harbor V1.4版本升級至V2.0

 

 

 

注:

Harbor升級需要注意的是,不是一口吃成胖子,需要迭代升級(如圖),不能直接從V1.4升級到V2.0,需要先從V1.4--V1.6--V1.9--V2.0;這里涉及到大版本與小版本;

大版本升級:大版本升級涉及到數據庫結構之類的改變,需要迭代升級
小版本升級:只需下載對應的版本,把舊版本的配置文件轉換成新版本的格式,再啟動即可
 

二、V1.4升級至V1.6

1、V1.4到V1.6版本,最大的改變就是數據庫從Mariadb到postgrepsql;
2、大版本有數據庫結構改變的,需要升級數據庫;沒有數據庫升級的,只需轉換配置文件;
3、備份、備份、備份
 
步驟:
 
1)停止容器
docker-compose down -v

 

2)備份

mkdir /backup_bak    # 創建備份目錄
cp -r harbor /backup_bak/harbor_v1.4   # 備份配置文件目錄
cp -r /data/database /harbor_bak/database1.4  # 備份數據庫文件

 

3)另一種數據庫備份

docker run -it --rm -e DB_USR=user -e DB_PWD=password -v /data/database/:/var/lib/mysql -v /harbor_bak/harbor1.4/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /harbor_bak/1.4_bak:/harbor-migration/backup goharbor/harbor-db-migrator:1.4 backup

 

DB_USER:數據庫登錄名(可從配置文件里獲取)

DB_PWD:數據庫密碼(可從配置文件里獲取)

第一個-v:/data/database/:/var/lib/mysql 前面為數據庫文件,具體根據自己的配置文件里設置的數據目錄下,后面不變;

第二個-v:/harbor_bak/harbor1.4/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg 前面為harbor1.4的配置文件,后面不變;

第三個-v:/harbor_bak/1.4_bak:/harbor-migration/backup 前面為備份到的哪個目錄,后面不變;

 

4)升級數據庫

docker run -it --rm -e DB_USR=user -e DB_PWD=password -v /data/database/:/var/lib/mysql -v /harbor_bak/harbor1.4/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /harbor_bak/1.6_database:/harbor-migration/backup goharbor/harbor-migrator:v1.6.0 up

 

DB_USER:數據庫登錄名(可從配置文件里獲取)

DB_PWD:數據庫密碼(可從配置文件里獲取)

第一個-v:/data/database/:/var/lib/mysql 前面為1.4版本的數據庫文件,后面不變;

第二個-v:/harbor_bak/harbor1.4/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg 前面為1.4版本的配置文件,后面不變;

第三個-v:/harbor_bak/1.6_database:/harbor-migration/backup 前面為升級后的數據庫文件,后面不變;

 

5)配置文件轉換
 docker run -it --rm -v /harbor_bak/harbor_1.4/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v harbor/harbor.cfg:/harbor-migration/harbor-cfg-out/harbor.cfg goharbor/harbor-migrator:v1.6.0 --cfg up

 

第一個-v:/harbor_bak/harbor_1.4/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg 現有1.4版本的配置文件,后面不變;

第二個-v: harbor/harbor.cfg:/harbor-migration/harbor-cfg-out/harbor.cfg 前面為轉換后的1.6版本的配置文件,后面不變;

 

注:

將1.4版本的配置文件轉換成1.6版本,新的配置文件將會輸出至harbor/harbor.cfg,注意檢查里面的配置文件,密碼是否對應的轉換過來了,沒有的話,需手動改。

 

三、V1.6升級V1.9

V1.6升級V1.9比較大的變化是配置文件由cfg形式變成yml文件,整體上只需轉換配置文件即可;步驟如下

 

1)停止容器

docker-compose down -v

 

2)備份

cp -r harbor /backup_bak/harbor_v1.6   # 備份配置文件目錄
cp -r /data/database /harbor_bak/database1.6  # 備份數據庫文件

 

3)V1.6版本的配置文件轉換成V1.9版本的配置文件

docker run -it --rm -v /harbor_bak/harbor_1.6/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.9.3 --cfg up

 

第一個-v:/harbor_bak/harbor_1.6/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg 前面為harbor1.6版本的harbor.cfg配置文件,后面為固定的

第二個-v:/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml 前面為將被轉換成1.9版本配置文件的目錄及文件,根據自己的實際情況指定,后面為固定的

 

4)下載harbor1.9
wget https://github.com/goharbor/harbor/releases/download/v1.9.3/harbor-online-installer-v1.9.3.tgz
tar -xvf harbor-online-installer-v1.9.3.tgz

 

5)拷貝轉換好的V1.9版本配置文件放置harbor1.9,並啟動

cp /harbor.yml harbor1.9/  #拷貝第三步中由1.6版本轉換成1.9版本的配置文件到harbor1.9的安裝目錄
cd harbor1.9/
./install 

 

四、V1.9升級V2.0

V1.9升級V2.0只需轉換配置文件,步驟如下:

 

1)停止容器

docker-compose down -v

 

2)備份

cp -r harbor /backup_bak/harbor_v1.9   # 備份配置文件目錄
cp -r /data/database /harbor_bak/database1.9  # 備份數據庫文件

 

3)1.9版本的配置文件harbor.yml轉換成2.0版本的配置文件harbor.yml

# 拉取goharbor/prepare:v2.0.0鏡像
docker pull goharbor/prepare:v2.0.0

# 這里先拷貝一份原來的配置文件到一個目錄下,這里我的是/usr/local/leee/harbor.yml
# 不指定輸出文件的話,默認到當前目錄下,如果輸入文件與輸出文件在同一個目錄,那么新版本的配置文件將會覆蓋舊版本的配置文件,一定要做好備份
docker run -it --rm -v /:/hostfs goharbor/prepare:v2.0.0 migrate -i /usr/local/leee/harbor.yml
# 也可以寫成
docker run
-it --rm -v /:/hostfs goharbor/prepare:v2.0.0 migrate -i /usr/local/leee/harbor.yml -o /usr/local/leee/harbor_v2.yml -t 2.0.0
 
拉取goharbor/prepare:v2.0.0鏡像,這個鏡像一共有3個作用 prepare、gencert、migrate,其中migrate就是轉換配置文件的;
migrate一個三個參數:
      -i :指定被轉換的配置文件,在這里就是1.9版本的harbor.yml
      -o:轉換到哪一個文件,默認是當前目錄下的harbor.yml
      -t:轉換到那個版本,這里我的prepare鏡像是2.0.0版本,因此默認是將配置文件轉換成2.0版本格式
 

 

4)下載2.0版本的Harbor包
 
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-online-installer-v2.0.0.tgz
tar -xvf harbor-online-installer-v2.0.0.tgz

 

5、拷貝已轉換的配置文件到2.0版本的harbor包下,並啟動

寫在最后

在平凡中堅持前行,總有一天會遇見不一樣的自己。
 
寫博客記錄、思考、總結,趟過的坑不趟第二遍。
 
所有的文章,皆同步在公眾號“運維汪”,可關注;也可加入“不扯淡,專注於技術”的QQ群:753512236;
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM