一、Harbor安装准备条件
1.1 硬件要求
Harbor 安装对硬件资源CPU、内存和硬盘的最小要求推荐配置:
CPU2核,Mem 4GB,Disk 40GB
使用如下命令分别查看服务器的物理CPU和逻辑CPU个数
# 查看物理CPU个数
cat/proc/cpuinfo |grep"physical id"|sort|uniq|wc-l
# 查看逻辑CPU个数
cat/proc/cpuinfo |grep"processor"|wc-l
# 查看内存
free -h
# 查看系统盘
df-h
1.2软件要求
harbor 2.5.3 版本对docker、docker-compose等软件的要求
docker17.06.0 及以上
docker-compose1.18.0 及以上
1.3网络端口要求
harbor 2.5.3 版本对网络端口的要求如下:
443端口,https协议, https端口,可以从配置文件中修改。
4443端口,https协议,当notary打开时使用,否则不需要使用,可以通过配置文件修改。
80端口,http协议,http端口,可以从配置文件中修改。
二、下载Harbor的安装包条件
2.1Harbor安装包分类
Harbor 的安装文件分为在线安装包和离线安装包
在线安装包:
在线安装包从 docker Hub 下载镜像,因此安装包文件比较小,适用于安装服务器能联网的场景下
离线安装包:
离线安装包包含了预先编译好的镜像文件,因此安装文件较大,适用于安装服务器未联网的场景下
2.2下载并解压安装包
(1) 打开Harbor发布网站挑选合适的版本,比如这里选择 v2.5.3 版本,点击 【v2.5.3】,进入发布附件页面,如下:
(2) 选择版本,如果服务器能联网,则右键复制链接,如果服务器不能联网,则只能点击下载,然后手工将安装包上传至服务器
(3) 如服务器能联网,则到服务器直接使用wget 下载,命令如下:
# 下载在线安装版
wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-online-installer-v2.5.3.tgz
# 下载离线安装版
wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
(4) 解压
# 解压在线安装版
tar -zxvf harbor-online-installer-v2.5.3.tgz
# 解压离线安装版
tar -zxvf harbor-offline-installer-v2.5.3.tgz
三、配置安装Harbor
3.1 安装基于 http 协议访问的默认的 Harbor
默认安装命令没有启用 Notary, Trivy 和 Chart Repository Service。
Notary:镜像签名认证
Trivy: 容器漏洞扫描
Chart Repository Service: Helm chart 仓库服务
一般在内网的情况下,可以直接使用 http 的方式访问,这种方式安装部署方式相对比较简单,在 harbor 压缩包解压后有一个 harbor 文件夹,进入
[root@redrose2100 online]# ls
harbor harbor-online-installer-v2.5.3.tgz
[root@redrose2100 online]# cd harbor
[root@redrose2100 harbor]# ls
common.sh harbor.yml.tmpl install.sh LICENSE prepare
[root@redrose2100 harbor]#
可以发现 harbor 文件夹中有一个 harbor.yml.tmpl文件,将其文件名修改为 harbor.yml
[root@redrose2100 harbor]# mv harbor.yml.tmpl harbor.yml
[root@redrose2100 harbor]# ls
common.sh harbor.yml install.sh LICENSE prepare
[root@redrose2100 harbor]#
然后编辑通过 vi harbor.yml 编辑 harbor.yml 文件
3.1.1 配置域名
配置 harbor 的域名,如果内部的不用域名,可以直接设置主机名或者IP
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: harbor.redrose2100.com
3.1.2 配置 http 的端口
默认是 80,这里修改为 10001
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 10001
3.1.3 注释 https 配置
暂时可以先将 https 配置注释
# https related config
#https:
# https port for harbor, default is 443
#port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path
3.1.4 配置 admin 用户的密码
默认密码是Harbor12345,这里可以修改自己的密码
# The initial password of Harbor admin
# It only works in first time to install harbor
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: Harbor12345
3.1.5 执行安装 harbor 的脚本
其他配置暂时保持默认配置,执行瑞安脚本即可
./install.sh
安装完成后,在浏览器打开http://harbor.redrose210.com即可打开 harbor 的页面了
3.1.6 修改 docker 配置文件
安装完成 harbor 后,因为此时使用的是 http 协议,此时需要在 docker 的配置文件 /etc/docker/daemon.json 中增加如下内容:
"insecure-registries":["harbor.redrose2100.com"],
完整的内容如下所示:
[root@redrose2100 harbor]# cat /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors":[
"https://ooe7wn09.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
"insecure-registries":["harbor.redrose2100.com"],
"dns": ["114.114.114.114","8.8.8.8"]
}
然后重启 docker
systemctl restart docker
再重启 harbor , 在 harbor 文件夹中执行如下两条命令
# 停止 harbor
docker-compose down -v
# 启动 harbor
docker-compose up -d
3.1.7 验证 harbor
# 修改 hello-world 镜像的 tag 值
docker tag hello-world:latest harbor.redrose2100.com/redrose2100/hello-world:latest
# 登录 harbor
docker login harbor.redrose2100.com -u admin -p xxxx(harbor的密码)
# 推送镜像
docker push harbor.redrose2100.com/redrose2100/hello-world:latest
然后到页面上,可以发现,此时镜像已经推送到 harbor 了
至此,最简单的基于http协议访问的默认的harbor已经安装完成了