Harbor仓库搭建

Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
核心组件:

  • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
  • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
  • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
  • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
  • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
  • Registry:镜像仓库,负责存储镜像文件。
  • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析
  1. 配置环境
    此时需要三个包:docker,docker-compose,harbor
    docker环境配置:
cd /etc/yum.repos.d/
vim westos.repo             				##编辑yum源配置文件,此时必须使用rhel7.5镜像,否则解决不了依赖性
yum install containerd.io-1.2.5-3.1.el7.x86_64.rpm container-selinux-2.21-1.el7.noarch.rpm docker-ce-18.09.6-3.el7.x86_64.rpm docker-ce-cli-18.09.6-3.el7.x86_64.rpm -y   			##安装docker所需要的包
systemctl start docker   					##打开docker服务
yum install bash-* -y                        ##安装命令补齐插件
sysctl -a |grep bridge                      ##过滤桥接信息
cd /etc/sysctl.d/
vim docker.conf 							##编辑配置文件,设置桥接信息打开
sysctl --system								##重载信息
ip addr show 								##会分配docker的ip
yum install bash-* -y

docker-compose下载:

curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose      ##下载docker-compose
chmod +x /usr/local/bin/docker-compose  ##执行权限
docker-compose version						##查看版本信息

harbor下载:

网站下载:https://github.com/goharbor/harbor/releases
tar zxvf harbor-offline-installer-v1.8.1.tgz 

Harbor仓库搭建_第1张图片
2.配置数据环境

systemctl start docker			##打开docker服务
cd harbor
docker load -i harbor.v1.8.1.tar.gz		##加载harbor镜像插件
vim harbor.yml										##配置文件,设置主机名,以及登陆密码
		hostname: westos.com
		harbor_admin_password: Harbor12345
systemctl restart docker						##重启docker服务
systemctl enable docker						##设置开机自启
docker-compose up -d							##开启服务docker-compose

Harbor仓库搭建_第2张图片
Harbor仓库搭建_第3张图片
Harbor仓库搭建_第4张图片

3.加载证书认证
官网地址:https://github.com/goharbor/harbor/blob/master/docs/configure_https.md

openssl genrsa -out ca.key 4096									##生成认证证书
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=westos.com"   -key ca.key   -out ca.crt					
openssl genrsa -out westos.com.key 4096					##创建私钥,指定密钥长度 
openssl req -sha512 -new  -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=westos.com"   -key westos.com.key  -out westos.com.csr 							##网页生成证书
vim v3.ext																		##生成注册表主机的证书							
openssl x509 -req -sha512 -days 3650   -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial   -in westos.com.csr  -out westos.com.crt																##将上个文件编辑的信息生成证书
mkdir -p /data/cert/
cp westos.com.crt /data/cert/								    	##将证书与密钥发送给hardor编辑文件
cp westos.com.key /data/cert/
openssl x509 -inform PEM -in westos.com.crt -out westos.com.cert			##Docker配置服务器证书、密钥和CA
mkdir -p /etc/docker/certs.d/westos.com
cp westos.com.key /etc/docker/certs.d/westos.com/
cp ca.crt /etc/docker/certs.d/westos.com/
cp westos.com.cert /etc/docker/certs.d/westos.com/
vim harbor.yml
		hostname: westos.com
		harbor_admin_password: Harbor12345
		https:
		   # https port for harbor, default is 443
		  port: 443
		   # The path of cert and key files for nginx
		  certificate: /data/cert/westos.com.crt										##指定证书位置
		  private_key: /data/cert/westos.com.key
./prepare																							##重载hardor服务
systemctl restart docker
docker-compose down -v
docker-compose up -d																		##重启docker-compose服务
vim /etc/hosts																					##添加域名解析
		172.25.30.2			westos.com
docker login westos.com																	##登陆
docker load -i harbor.v1.8.1.tar.gz													##加载harbor镜像插件			
docker tag busybox:latest westos.com/library/busybox					##更改镜像名,设置为登陆名以及镜像仓库,可根据网页配置添加上查看应该修改的镜像名
docker push westos.com/library/busybox										  ##推送镜像

Harbor仓库搭建_第5张图片
Harbor仓库搭建_第6张图片
Harbor仓库搭建_第7张图片
在这里插入图片描述
Harbor仓库搭建_第8张图片总结:
出现500报错,可以重启服务,检查端口。
如果一直推送拒绝服务,就可以检查一下镜像名,是否与网页上仓库名与用户登陆名一致。

你可能感兴趣的:(Harbor仓库搭建)