作者:键客李大白 2023-10-08 21:10:50
云计算
云原生 Harbor 现在支持 OCI Distribution Spec v1.1.0-rc2,并增加了对符号签名和 Nydus 转换作为引用的支持。
创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、网站设计、网站建设易于使用并且具有良好的响应性。
功能使用如图位置:
图片
如果使用版本低v20.10.10的Docker在线/离线安装Harbor 2.9.0,则可能会遇到Harbor数据库容器无法启动的问题。此问题正在 (#19141) 进行跟踪。有关此特定问题的更多详细信息,请访问此页面(timescale/timescaledb-docker-ha#260)。
为避免此问题,建议在将 Harbor v20.10.10 与在线/离线安装程序一起使用时,确保 Docker 版本等于或大于 2.9.0。
适用于多个版本,离线安装的步骤基本没什么变化。
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
$ swapoff -a
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
$ wget http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
$ yum clean all
$ mkdir docker-ce
$ yum install -y docker-ce --downloadonly --downloaddir=./docker-ce/
$ yum install -y rpm/*.rpm
$ systemctl enable --now docker
$ cat /etc/docker/daemon.json
{
"registry-mirrors": ["http://127.0.0.1:65001"],
"insecure-registries": ["192.168.2.19:443","134.194.15.150:1021"], "storage-driver": "overlay2",
"exec-opts": ["native.cgroupdriver=systemd"] ,
"graph": "/dcos/data/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "500m"
}
}
$ systemctl daemon-reload && systemctl restart docker
docker-compose的版本在1.18.0+
$ wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64
$ mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
$ docker-compose -v
docker-compose version 1.29.2, build 5becea4c
配置3个必要的内核参数,其他内核参数可自行添加。
$ modprobe br_netfilter #加载内核模块(临时)
$ cat > /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
$ sysctl -p
net.ipv4.ip_forward:开启路由转发(不配置该参数,当主机重启后,服务状态正常,却无法访问到服务器)
https模式需要签发证书,本处使用cfssl向Harbor签发证书,
下载二进制可执行文件并放入到/usr/local/bin/下并给执行权限即完成。
$ wget -c https://github.com/cloudflare/cfssl/releases/download/v1.6.0/cfssl_1.6.0_linux_amd64 -O /usr/local/bin/cfssl
$ wget -c https://github.com/cloudflare/cfssl/releases/download/v1.6.0/cfssljson_1.6.0_linux_amd64 -O /usr/local/bin/cfssljson
$ wget -c https://github.com/cloudflare/cfssl/releases/download/v1.6.0/cfssl-certinfo_1.6.0_linux_amd64 -O /usr/local/bin/cfssl-certinfo
$ chmod +x /usr/local/bin/cfssl*
cfssl version
Version: 1.6.0
Runtime: go1.18
http模式可不需要进行本处操作,生产环境建议使用https模式来保障安全。
本处使用cfssl向Harbor签发证书,详细见文章: https://mp.weixin.qq.com/s/T9xug20FNU3zOodno5IwPA
自建CA证书颁发机构,使用刚才安装好的cfssl工具为harbor制作颁发证书
$ mkdir -p /app/harbor/ssl/ #创建证书存放目录
$ cfssl print-defaults config > /app/harbor/ssl/ca-config.json #生成默认配置文件
$ cat < /app/harbor/ssl/ca-config.json
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"harbor": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
EOF
图片
$ cfssl print-defaults csr > /app/harbor/ssl/ca-csr.json
$ cat < /app/harbor/ssl/ca-csr.json
{
"CN": "harbor",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "Beijing",
"L": "Beijing"
}
]
}
EOF
图片
$ cfssl gencert -initca /app/harbor/ssl/ca-csr.json | cfssljson -bare /app/harbor/ssl/ca
$ ls /app/harbor/ssl/
ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem
可以看到,当前目录下新生成了ca.csr、ca-key.pem、ca.pem这3个文件。ca-key.pem、ca.pem这两个是CA相关的证书,通过这个CA来向Harbor颁发证书。
图片
Harbor使用类似于申请表的一个请求文件向CA机构申请证书,CA机构则根据配置文件(证书策略)和请求文件(申请表)向Harbor颁发证书。
使用以下命令创建一个默认的请求文件,但默认的部分参数需要修改。
$ cfssl print-defaults csr > /app/harbor/ssl/harbor-csr.json
$ cat /app/harbor/ssl/harbor-csr.json
{
"CN": "harbor",
"hosts": [
"127.0.0.1",
"192.168.2.19",
"lidabai.harbor.cn"
],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing"
}
]
}
图片
CA使用请求文件根据配置向Harbor颁发证书。
$ cfssl gencert -ca=/app/harbor/ssl/ca.pem \
-ca-key=/app/harbor/ssl/ca-key.pem \
-cnotallow=/app/harbor/ssl/ca-config.json \
-profile=harbor /app/harbor/ssl/harbor-csr.json | cfssljson -bare /app/harbor/ssl/harbor
$ ls /app/harbor/ssl/
ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem harbor.csr harbor-csr.json harbor-key.pem harbor.pem
$ cp harbor.pem harbor-key.pem /app/harbor/ssl/
图片
$ export HARBOR_VERSION=2.9.0 #声明变量,指定版本号
$ wget https://github.com/goharbor/harbor/releases/download/v$HARBOR_VERSION/harbor-offline-installer-v$HARBOR_VERSION.tgz
$ tar -zxvf harbor-offline-installer-v$HARBOR_VERSION.tg z -C /app/
harbor/harbor.v$HARBOR_VERSION.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
$ docker load -i harbor.v$HARBOR_VERSION.tar.gz
将配置模板复制为配置文件后修改配置参数
$ cp harbor.yml.tmpl harbor.yml
$ vim harbor.yml
hostname: lidabai.harbor.com
http:
port: 80
# 启用https
https:
port: 443
certificate: /app/harbor/ssl/harbor.pem #Harbor的证书
private_key: /app/harbor/ssl/harbor-key.pem #Harbor的证书私钥
metric:
enabled: true #开启Harbor Metrics监控
port: 9090
path: /metric
其他配置参数根据需要进行修改。
在安装目录下执行./prepare加载各个组件的配置。
$ ./prepare
图片
$ ./install.sh --with-trivy
图片
图片
出现: ----Harbor has been installed and started successfully.则表示安装成功
$ docker-compose ps
图片
服务正常!
浏览器输入https://192.168.2.19:443
图片
图片
图片
图片
登录正常!
https://github.com/goharbor/harbor/releases
本文题目:Harborv2.9.0版本变化及离线部署
文章分享:http://www.shufengxianlan.com/qtweb/news28/243628.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联