Harbor打怪升級

目錄

1、目標mysql

2、V1.4升級至V1.6git

3、V1.6升級至V1.9github

4、V1.9升級至V2.0sql

5、寫在最後docker

1、目標

Harbor V1.4版本升級至V2.0數據庫

 

 

 

注:運維

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

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

2、V1.4升級至V1.6

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

 

2)備份post

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

 

3)另外一種數據庫備份ui

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,注意檢查裏面的配置文件,密碼是否對應的轉換過來了,沒有的話,需手動改。

 

3、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 

 

4、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

 

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

寫在最後

在平凡中堅持前行,總有一天會碰見不同的本身。
 
寫博客記錄、思考、總結,趟過的坑不趟第二遍。
 
全部的文章,皆同步在公衆號「運維汪」,可關注;也可加入「不扯淡,專一於技術」的QQ羣:753512236;
 
相關文章
相關標籤/搜索