企业级镜像仓库Harbor介绍与搭建。k8s+jenkins部署cicd必备组件

本文介绍了如何在企业环境中快速部署Harbor镜像仓库,涉及官方安装、Helm和Kubernetes的集成、离线安装、配置、以及SSL证书设置。还列出了安装过程中常见的问题及其解决方法。

30分钟带你搞定企业级harbor镜像仓库,jenkins、k8s部署CICD必备镜像管理仓库_哔哩哔哩_bilibili

前言

官网:Harbor

Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

为什么需要harbor?

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。

安装

安装方式

安装方式主要有三张:

离线安装包手动安装

安装

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

bilibili_架构师九哥

欢迎您的观看,留点什么吧!

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

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

打赏作者

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

抵扣说明:

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

余额充值