• 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;
     
     
  • 相关阅读:
    nginx uwsgi django
    ubuntu config proxy
    jdbc调用sparksql
    jdbc调用sparksql on yarn
    JDK错误
    JDK错误
    docker错误
    docker错误
    Django网站直接使用supervisor部署
    Django网站直接使用supervisor部署
  • 原文地址:https://www.cnblogs.com/lemon-le/p/13326846.html
Copyright © 2020-2023  润新知