KylinOS安装VmwareHarbor镜像仓库

背景

放弃CentOS7,转向KylinOS,目前KylinOS已经更新发布到了KylinOS-v10-SP3版本。但客户目前使用的仍然是SP2版本,后续将择时升级或迁移。根据业务需求需在离线环境下搭建VMwareHarbor仓库供K8S集群使用。本文介绍了在kylinOS离线环境下安装VMware harbor仓库的步骤以及运行报错时相关问题的解决。
(VMwareHarbor官方推荐使用Docker和Docker-compose进行安装。故针对绝大部分Linux操作系统,本文皆可参考并验证安装。)

一些参考网站

【官方GitHub仓库及Release页面(可下载最新版Harbor安装包)】
【VMware官方文档:Harbor安装指南】
【Harbor官方文档:Harbor安装指南】

简要安装步骤

  1. 准备离线dnf源,安装docker-ce和docker-compose。
  2. 下载并上传harbor安装包至服务器。
  3. 生成自签名ssl证书。
  4. 修改harbor配置文件。
  5. 执行harbor安装脚本。
  6. 排查问题,验证访问。

操作步骤

1. 准备离线dnf源,安装docker-ce和docker-compose。

利用本地VMware或hyperV等虚拟化平台,准备相同环境的kylinos操作系统,保证其可以上网。通过以下命令下载docker-ce、docker-compose安装包,并创建仓库。将仓库文件打包scp至离线环境中,手动清理、创建repo文件,通过dnf命令安装docker-ce和docker-compose。

[root@zy-kylinV10-Target01 /]# cd /home/test/docker-ce/
[root@zy-kylinV10-Target01 /]# yum install   docker-ce-20.10.21   docker-ce-cli-20.10.21   containerd.io-1.6.15 --downloadonly --downloaddir=.
[root@zy-kylinV10-Target01 docker-ce]# createrepo .

手动清理其它在线repo文件后,创建一个使用本地file的repo文件,具体内容参考如下

[root@zy-kylinV10-Target01 yum.repos.d]# cat docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - \$basearch
baseurl=file:///home/test/docker-ce/
enabled=1
gpgcheck=0
repo_gpgcheck=0

整体打包,通过sz下载至本地,通过其它sftp方式将本地dnf源传输至离线环境中使用。

[root@zy-kylinV10-Target01 /]# cd /home/test
[root@zy-kylinV10-Target01 /]# tar -cvf localrepo.tar /home/test/docker-ce/
[root@zy-kylinV10-Target01 /]# sz localrepo.tar 

在离线环境中,直接使用dnf命令完成安装。

dnf install   docker-ce  docker-ce-cli  containerd.io

安装完成后,需根据实际需要先创建docker配置文件daemon.json,然后再启动docker服务,具体参考如下:

cat /etc/docker/daemon.json 
{
  "insecure-registries": ["localhost:443"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "data-root": "/var/lib/docker",
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}

注意:需保证两套环境中的操作系统一致,否则解决依赖时可能出现遗漏。在离线环境中使用repo时,可将默认的repo文件删除,以节省寻找url最终却无果的时间。

2. 下载并上传harbor安装包至服务器。

访问【官方GitHub仓库及Release页面(可下载最新版Harbor安装包)】下载对应版本harbor安装包,可查看release note确定相关的bug或特性。
在这里插入图片描述
在这里插入图片描述
下载后的安装包通过scp或其它方式传输至目标服务器中。

3. 生成自签名ssl证书。

harbor成功安装后,其访问需要使用ssl证书以保证安全,因为是离线环境不访问外网,此处使用openssl生成自签名证书。
具体openssl及证书相关知识不再此处详细展开,只管复制粘贴以下代码即可。目标是生成三个文件,其中两个需要在下一步harbor配置文件中使用。

sudo openssl genpkey -algorithm RSA -out private.key	#生成私钥
sudo openssl req -new -key private.key -out csr.csr		#生成证书请求文件
sudo openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt #签发生成证书

在这里插入图片描述
在这里插入图片描述

4. 修改harbor配置文件。

进入解压安装包后的harbor目录,将模板文件*.tmpl复制为可以生效的yml文件。

cd harbor 
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

关键配置项为以下几个(从完整配置文件中截取的,具体可按关键字查找并修改),其它配置项均可使用默认值。

hostname: xxxxx.harbor #可以是localhost或127.0.0.1,也可以是之后通过静态域名访问时,自定义的域名。

https:
  certificate: /home/test/certificate.crt 	#上一步中生成的crt文件
  private_key: /home/test/private.key	#上一步中生成的key文件

harbor_admin_password: P@ssw0rd		#成功配置后,web界面、cli命令行登录均会用到的admin管理员密码。首次启动前就可以先在此处设定。

database:
  password: P@ssw0rd 	#默认使用的数据库密码,通常情况下用不到。

data_volume: /ilw/data		#镜像使用的数据目录,若服务器配置了数据盘或数据分区,需在此指定。

log:
    location: /ilw/log/harbor		#日志路径,可查看harbor相关容器的日志。

5. 执行harbor安装脚本。

在解压后得到的harbor目录中执行install.sh脚本,harbor将自动完成首次运行,并进入后台运行。若配置文件正常,则此处运行正常。

6. 排查问题,验证访问。

执行docker ps、检查对应端口或进程、直接从web访问相关地址。
若harbor正常运行,则相关容器运行截图如下。
在这里插入图片描述

Harbor相关操作命令(启动、关闭)

下次补充

安装过程中出现的问题

下次补充解决

问题1:普通用户sudo权限解压安装包时,部分配置文件权限过高,容器重启。

问题2:配置静态域名访问harbor时,遗漏部分配置导致访问失败,token返回报错。

问题3:推送镜像时验证ssl证书,需添加为受信任的不安全仓库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值