30分钟带你搞定企业级harbor镜像仓库,jenkins、k8s部署CICD必备镜像管理仓库_哔哩哔哩_bilibili
前言
官网:Harbor
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
为什么需要harbor?
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。
安装
安装方式
安装方式主要有三张:
-
helm安装
-
可以参考kebesphere官网使用helm安装: 将 Harbor 集成到流水线
-
-
下载离线安装包手动安装
-
使用kubesphere开启OpenPitrix后,在应用商店内安装
离线安装包手动安装
安装
1、下载安装包
若命令下载太慢,可以先去gitgub网站把包下载下来,再手动上传~
# wget命令下载
wget https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
# 命令下载太慢,可以试着使用 加速器,部分linux可以使用
wget https://ghproxy.com/ https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz
2、解压
解压命令:
tar -xvf harbor-offline-installer-v2.5.0.tgz这个包解压内部包含如下图:

3、配置harbor.yml
# 使用cp命令复制一个harbor.yml
cp harbor.yml.tmpl harbor.yml
修改配置信息
vim harbor.yml注意:若不配置https,则可以将https的配置注释掉,若使用https,则需要配置https证书,然后将证书路径如实填写(证书全路径)~

配置https证书
官网文档:Harbor docs | Configure HTTPS Access to Harbor
如果代理商已有域名证书,则可以直接使用,跳过如下步骤~
-
生成CA证书私钥
会生成ca.crt和ca.key俩个秘钥文件~
openssl genrsa -out ca.key 4096
# 【yourdomain.com】 改成自己的 域名
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=121.199.49.72" \
-key ca.key \
-out ca.crt

4、安装检查
可以使用 ./prepare 检查是否可以正常安装

5、安装 docker-compose
需要提前安装docker-compose,因为它是通过docker-compose来管理的
yum -y install docker-compose
或者
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
检查是否安装成功:
docker-compose -v若失败,可以尝试
cat docker-compose
# 查看 docker-compose 应用
docker-compose ps
# 启动命令
docker-compose up -d
# 停止命令
docker-compose down
6、启动
sh install.sh就行(如果docker版本过低,会导致这个命令报错~)启动会生成如下俩个文件 docker-compose.yml 和 common

安装之后
生成的容器
启动后,会有如下容器运行~

常见问题
问题一:

解决方法:
# 进入docker 目录
cd /etc/docker
mkdir cert.d
cd cert.d
mkdir 域名或者ip:端口
cd 域名或者ip:端口
cp /data/cert/ca.crt ./
systemctl restart docker
问题二:

解决方法:添加docker仓库信任
tee /etc/docker/daemon.json <<-'EOF'
{
"insecure-registries": ["ip:端口"]
}
EOF
systemctl daemon-reload
systemctl restart docker
本文介绍了如何在企业环境中快速部署Harbor镜像仓库,涉及官方安装、Helm和Kubernetes的集成、离线安装、配置、以及SSL证书设置。还列出了安装过程中常见的问题及其解决方法。

5661

被折叠的 条评论
为什么被折叠?



