基于Ubuntu的Harbor搭建流程

准备工作

  1. 准备安装包

harbor的github仓库地址:harbor,找到自己要安装的版本提前下载,也可以在服务器wget下载,自行解决即可。

此处使用的版本为v2.1.4,并已上传并解压至服务器/usr/local/目录下,解压后的路径和内容如下:

image.png

  1. 生成HTTPS访问所需的证书

这里提供一个生成证书的脚本,https://www.bookstack.cn/read/rancher-v2.x/43c8d247182c02a2.md,篇幅过大,请在原地址自取。

复制以上脚本内容,命名为create_cert.sh,给755权限,脚本参数参考如下说明:

--ssl-domain:生成ssl证书需要的主域名,如不指定则默认为localhost,如果是ip访问服务,则可忽略;
--ssl-trusted-ip:一般ssl证书只信任域名的访问请求,有时候需要使用ip去访问server,那么需要给ssl证书添加扩展IP,多个IP用逗号隔开;
--ssl-trusted-domain:如果想多个域名访问,则添加扩展域名(TRUSTED_DOMAIN),多个TRUSTED_DOMAIN用逗号隔开;
--ssl-size: ssl加密位数,默认2048;
--ssl-date: ssl有效期,默认10年;
--ca-date: ca有效期,默认10年;
--ssl-cn:国家代码(2个字母的代号),默认CN;

此处我的命令如下,可以参考。此处是局域网IP访问,不走域名,因此只配置IP:

./create_cert.sh --ssl-trusted-ip=192.168.0.201 --ssl-size=2048 --ssl-date=3650

运行之后会生成tls.key和tls.crt两个文件,留存备用,我个人习惯放在了/usr/local/cert目录下,下一节配置harbor时会用到。

  1. 安装docker-compose

这里安装的是1.25.5版本:

sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose   #赋予可执行文件

安装完成后,使用docker-compose --version检查是否成功。

安装harbor

  1. 修改配置文件

从配置模板文件中复制出一个配置文件:

cp harbor.yml.tmpl harbor.yml

harbor v2.1.4版本的配置文件时yml格式的,而并非是远古版本的cfg格式,因此配置时需要注意。

使用vim打开harbor.yml配置文件,修改如下几个内容:

hostname: 192.168.0.201  #这里修改为服务器的外部可访问IP,此处服务器在局域网,是单IP,若是云服务商的内外双IP,请自行调整

http:
  port: 20080  #修改http下的访问端口,这里使用20080

https:
  port: 20443  #修改https下的访问端口,这里使用20443
  certificate: /usr/local/cert/tls.crt  #证书crt文件的位置,此处为/usr/local/cert/tls.crt
  private_key: /usr/local/cert/tls.key  #证书key文件的位置,此处为/usr/local/cert/tls.key

除此之外还有一些其他的配置,根据需要自行配置即可。

  1. 安装harbor

harbor目录中有一个prepare文件,执行此文件,开始配置harbor:

./prepare

执行完之后,会自动拉取镜像并进行配置,完成后,再执行install.sh进行安装:

./install.sh

看到此内容之后,就可以在浏览器访问进行测试了:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O95rTVeY-1626511738811)(http://qiniu.javafeng.com/1616727798179.png)]

浏览器输入https://192.168.0.201:20443,出现如下界面,表示搭建成功:
image.png

  1. 使用和配置harbor

如果你没有修改配置文件中的默认密码,那么默认密码是Harbor12345,用户名为admin,登陆进去后即可进行新建项目、修改密码、创建用户等一系列操作,到此处,harbor就搭建完了。

docker推送镜像到harbor

首先在harbor中新建一个项目test,创建之后如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-udsWhEuU-1626511738816)(http://qiniu.javafeng.com/1616728122035.png)]

点击进入项目详情,右侧可以看到tag镜像和push镜像的命令:

image.png

我服务器上有一个jupyter/all-spark-notebook镜像,这里我把这个镜像tag并push到harbor中:

docker tag jupyter/all-spark-notebook 192.168.0.201:20443/test/jupyter/all-spark-notebook

先登录私有仓库:

docker login 192.168.0.201:20443

不出意外,会出现certificate signed by unknown authority错误,这个是因为harbor设置HTTPS后,需要通过以下步骤:

  • 确保-insecure-registry配置不存在,并且将上述步骤中生成的tls.crt复制到/etc/docker/certs.d/reg.yourdomain.com(或Harbor主机IP),如果该目录不存在,则创建它。此处为/etc/docker/certs.d/192.168.0.201:20443,然后将tls.crt放进去即可。

在此尝试登陆,登陆成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iygGErQP-1626511738819)(http://qiniu.javafeng.com/1616728766149.png)]

然后推送镜像:

docker push 192.168.0.201:20443/test/jupyter/all-spark-notebook

然后harbor中看到推送的镜像:
image.png

这里就表示成功了。搭建harbor全部结束,上一篇是在部署过程中遇到的问题,然后对部署做了此篇总结,搭配食用更香。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FENGYU406

赏杯咖啡喝~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值