概述
在内网环境中;
某些镜像被墙的情况下;
在k8s搭nacos的过程中,虽然master配了阿里云镜像,但还是启动失败,经排查发现每台node都要配置阿里云镜像加速拉镜像,而阿里云也有不稳定的情况,比如域名解析失败,这时就可以通过搭建harbor解决;
链接:harbor-offline-installer-v2.0.2.tgz | docker-compose 提取码:nkm4
# 安装docker
# 安装docker compose
# curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/sbin/docker-compose && chmod +x /usr/sbin/docker-compose
# 速度慢,使用下载好的文件
cp docker-compose /usr/sbin/
chmod +x /usr/sbin/docker-compose
# 下载harbor-offline-installer-v2.0.2.tgz,地址
# https://github.com/goharbor/harbor/releases
# 速度慢,可以挂迅雷,这里使用下载好的文件
# 解压
tar -zxvf harbor-offline-installer-v2.0.2.tgz -C /usr/local/
# 创建证书
mkdir -p /data/cert && cd /data/cert
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
# 按提示输入各项参数后,目录生成ca.crt ca.key两个文件
# 注意第6步要输出域名,
# Common Name (eg, your name or your server's hostname) []:harbor.dfun.cn
# 修改配置
cp harbor.yml.tmpl harbor.yml
vi harbor.yml
---------------
# 修改域名
hostname: harbor.dfun.cn
...
# 修改证书路径
certificate: /data/cert/ca.crt
private_key: /data/cert/ca.key
...
---------------
# 安装
cd /usr/local/harbor
./install.sh
# 浏览器直接访问ip即可出现harbor页面
# 默认账号/密码: admin/Harbor12345
# 客户端节点修改hosts
vi /etc/hosts
# 添加
192.168.1.151 harbor.dfun.cn
# 客户端节点创建目录
mkdir -p /etc/docker/certs.d/harbor.dfun.cn/
# harbor节点证书分发
scp /data/cert/ca.crt root@k8s-01:/etc/docker/certs.d/harbor.dfun.cn/
# 客户端重启docker
systemctl restart docker
# 客户端docker登录harbor
docker login harbor.dfun.cn
# 本地镜像推送到harbor
docker pull nginx
docker tag nginx:latest harbor.dfun.cn/library/nginx:latest
# docker push harbor.dfun.cn/library/nginx:latest
# 在harbor控制台可以看到镜像已上传
附:
# 修改配置后,重启harbor
# 停止harbor
docker-compose down
# 重启docker
# 加载配置
./prepare
# 启动harbor
docker-compose up -d
参考:
搭建好harbor服务器后,从另一台机登录时遇到的问题-简书
Harbor配置https认证
异常:
1.如果提示证书过期,是由于服务器时间不一致:
# 各节点时间同步
yum install -y ntpdate
ntpdate ntp3.aliyun.com
有网友表示,"Sonatype Nexus Pro 3.x支持很多种仓库格式包括Docker Registry,MS NuGet,Maven Repository等等",并从harbor转向nexus待考究;
网友评论