栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Debian11之Harbor2.5.0安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Debian11之Harbor2.5.0安装

Harbor致力于成为 Kubernetes 值得信赖的云原生存储库,帮助我们搭建属于自己的私有仓库,与Docker hub相比(1、上传下载镜像快 2、保护企业内部的镜像不被泄露),提供了管理UI、基于角色的访问控制、审计日志等企业用户需求的功能

安装条件
CPU 2-4核,推荐4核
内存 4-8G,推荐8G
硬盘 40-160G,推荐160G

Docker engine [Version 17.06.0-ce+ or higher]
Docker Compose [Version 1.18.0 or higher]
Openssl [Latest is preferred]

80 [Harbor portal and core API accept HTTP requests on this port]
443	[Harbor portal and core API accept HTTPS requests on this port]
4443 [Connections to the Docker Content Trust service for Harbor]
下载
1、在线安装程序:联机安装程序从 Docker 中心下载 Harbor 映像。因此,安装程序的尺寸非常小
2、脱机安装程序:如果要将 Harbor 部署到的主机没有连接到 Internet,请使用脱机安装程序。脱机安装程序包含预构建的映像,因此它比联机安装程序大

# 获取文件的公钥
gpg --keyserver hkps://keyserver.ubuntu.com --receive-keys 644FF454C0B4115C
# 在线安装程序校验
gpg -v --keyserver hkps://keyserver.ubuntu.com --verify harbor-online-installer-v2.5.0.tgz.asc
# 脱机安装程序校验
gpg -v --keyserver hkps://keyserver.ubuntu.com --verify harbor-offline-installer-version.tgz.asc
安装
# 上传相关包到当前目录(在线安装包、安装包校验文件)
cd /usr/local && mkdir harbor && cd harbor 
# 解压在线安装包
mv /home/lixing/harbor-online-installer-v2.5.0.tgz /usr/local/harbor
tar xzvf harbor-online-installer-v2.5.0.tgz
mv harbor harbor2.5.0


默认情况下Harbor 不附带证书,通过HTTP即可访问,在生产环境中请始终使用 HTTPS。若要配置 HTTPS,必须创建 SSL 证书。可以使用由受信任的第三方 CA 签名的证书,也可以使用自签名证书。以下将介绍如何使用 OpenSSL 创建 CA,以及如何使用 CA 对服务器证书和客户端证书进行签名

# 生成【CA】证书私钥
openssl genrsa -out /usr/local/harbor/certificate/ca.key 4096
# 生成【CA】证书,注意:CN=<主机域名>
openssl req -x509 -new -nodes -sha512 -days 3650 
 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.213.142" 
 -key /usr/local/harbor/certificate/ca.key 
 -out /usr/local/harbor/certificate/ca.crt
# ‎生成【服务器】证书‎私钥
openssl genrsa -out /usr/local/harbor/certificate/<主机域名>.key 4096
# 成服【服务器】证书,注意:CN=<主机的域名>
openssl req -sha512 -new 
    -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=<主机域名>" 
    -key /usr/local/harbor/certificate/<主机域名>.key 
    -out /usr/local/harbor/certificate/<主机域名>.csr
# 生成 x509 v3 扩展文件
cd /usr/local/harbor/certificate # 执行以下命令,注意需要动态修改alt_names的相关字段:
	cat > v3.ext <<-EOF
	authorityKeyIdentifier=keyid,issuer
	basicConstraints=CA:FALSE
	keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
	extendedKeyUsage = serverAuth
	subjectAltName = @alt_names
	
	[alt_names]
	DNS.1=
	DNS.2=
	DNS.3=
	EOF
# 使用‎ ca.crt、ca.key、v3.ext、192.168.213.134.csr 文件 为hrobor主机生成 192.168.213.134.crt 证书
openssl x509 -req -sha512 -days 3650 
    -extfile /usr/local/harbor/certificate/v3.ext 
    -CA /usr/local/harbor/certificate/ca.crt -CAkey /usr/local/harbor/certificate/ca.key -CAcreateserial 
    -in /usr/local/harbor/certificate/192.168.213.142.csr 
    -out /usr/local/harbor/certificate/192.168.213.142.crt
# 为 Harbor 和 Docker 提供证书
# ‎将服务器证书、密钥复制到 Harbor 主机上的证书文件夹中‎
cp /usr/local/harbor/certificate/192.168.213.142.crt /data/cert/
cp /usr/local/harbor/certificate/192.168.213.142.key /data/cert/
# 转换‎ <主机域名>.crt 为 <主机域名>.cert,‎供 Docker 使用‎
openssl x509 -inform PEM -in <主机域名>.crt -out <主机域名>.cert
# ‎将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中,需要先创建相应的文件夹‎
cp /data/cert/192.168.213.142.cert /etc/docker/certs.d/<主机域名>/
cp /data/cert/192.168.213.142.key /etc/docker/certs.d/<主机域名>/
cp /usr/local/harbor/certificate/ca.crt /etc/docker/certs.d/<主机域名>/
# 重启docker
systemctl daemon-reload && systemctl restart docker && systemctl status docker
‎# 配置 harbor.yml 详见官方文档
cd /usr/local/harbor/harbor2.5.0 && cp harbor.yml.tmpl harbor.yml
# 安装 harbor
cd /usr/local/harbor/harbor2.5.0 && ./install.sh


登陆
# 浏览器访问,初始账号admin 初始密码Harbor12345
http://192.168.213.142
https://192.168.213.142

# 停止
cd /usr/local/harbor/harbor2.5.0 && sudo docker-compose stop
# 启动
cd /usr/local/harbor/harbor2.5.0 && sudo docker-compose start
创建项目


推送镜像到Harbor
# 构建本地Docker镜像
docker build -t demo:20211208 .


# 将本地镜像像【镜像REPOSITORY:镜像TAG】标记到Harbor存储库【镜像REPOSITORY:镜像TAG】
docker tag demo:20211208 192.168.213.142/pro_demo/demo:20211208

# push标记的镜像到harbor
docker push 192.168.213.142/pro_demo/demo:20211208
# 问题1:
# Get "https://192.168.213.142/v2/": x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
# vim /etc/docker/daemon.json 追加如下配置
{
	"insecure-registries":["192.168.213.142"]
}


从Harbor拉取镜像
docker pull 192.168.213.142/pro_demo/demo:20211208
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854684.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号