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

Docker Harbor 2.3.4 集群 双主复制高可用镜像仓库

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

Docker Harbor 2.3.4 集群 双主复制高可用镜像仓库


下面操作大部分是双节点同时执行一样的命令,不同的地方我会进行标注和特殊说明

文章目录
          • 一、环境准备
            • 1. 环境要求
            • 2. 节点总览
            • 3. 安装docker-compose
          • 二、安装harbor
            • 2.1. 下载
            • 2.2. 解压
            • 2.3. 调整配置
            • 2.4. 安装 harbor
            • 2.5. 效果验证
          • 三、Docker开启远程API
            • 3.1. 修改配置
            • 3.2. 支持http
            • 3.3. 重新启动Docker服务
            • 3.4. 防火墙管理
            • 3.5. 重新启动
            • 3.6. 监控状态
          • 四、测试推送镜像
            • 4.1. 新建项目
            • 4.2. 登录harbor仓库
            • 4.3. tag镜像
            • 4.4. 上传镜像到私有仓库
            • 4.5. 登录
            • 4.6. 验证镜像
          • 五、拉取镜像
            • 5.1. 登录
            • 5.2. 拉取镜像
          • 六、双主复制
            • 6.1. 登录双节点
            • 6.2. 新建目标
            • 6.3. 新建复制规则
            • 6.4. 规则效果
            • 6.5. 镜像同步验证
            • 6.6. 新建目标
            • 6.7. 新建规则
            • 6.8. 规则效果
            • 6.9. 总结
          • 七、基本操作
            • 7.1. 下线
            • 7.2. 监控状态
            • 7.3. 重新部署上线

一、环境准备 1. 环境要求

环境docker版本17.06.0+

软件版本
系统版本centOS 7.6.1810
docker20.10.11
docker-compose1.23.2
jdk1.8.0_301
2. 节点总览
ip端口用途
192.168.92.12980harbor节点1
192.168.92.13080harbor节点2
3. 安装docker-compose

服务器有网络安装方式:
docker-compose是docker用来管理容器的一个工具,harbor的运行基于docker-compose。

  • 安装docker-compose:
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
  • 如果github安装太慢,可使用下面的高速地址安装:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • 服务器无网络时安装方式:
    先下载好(下载地址:https://github.com/docker/compose/releases/)后,上传至服务器centos的/usr/local/bin目录下

  • 赋予权限
    不管使用哪种方式下载,上传到指定目录后都需要对文件进行赋权:

chmod +x /usr/local/bin/docker-compose
二、安装harbor 2.1. 下载

下载安装包:
 官网地址:https://github.com/vmware/harbor/releases/
 
下载速度慢可用这个地址:http://harbor.orientsoft.cn/
 

cd /app
wget https://github.91chi.fun//https://github.com//goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz
2.2. 解压
cd /app
tar -zxvf harbor-offline-installer-v2.3.4.tgz
2.3. 调整配置

特殊说明:如果搭建的单机环境的话,配置服务器ip即可,如果集群环境,配置各自的ip
修改harbor配置文件
从模板harbor.yml.tmpl拷贝一份文件命名harbor.yml

cp /app/harbor/harbor.yml.tmpl /app/harbor/harbor.yml
vim /app/harbor/harbor.yml

PS: 这里跟以前2.x以下的版本不一样,没有了harbor.cfg文件,我们需要手动复制harbor.yml.tmpl在做修改即可修改配置harbor.yml文件如下:

PS: harbor作为私有仓库作用在公司内网,一般都是信任关系,没多大必要做https,使用http即可!
所以 把https相关的已经注释掉

  • 192.168.92.129 节点
hostname: 192.168.92.129

harbor默认存储目录是/data,但是我服务器存储大空间在/app磁盘,因此,调整了目录存储路径

集群环境,配置要在配置一份,证书都用自己的,不能复制给另一台使用

  • 192.168.92.130 节点

2.4. 安装 harbor

运行install.sh文件安装harbor

cd /app/harbor/
ll
./prepare

./install.sh




2.5. 效果验证

进入登录页面:
http://192.168.92.129
https://192.168.92.130/
默认用户名:

admin

密码:

Harbor12345
  • 登录页面

三、Docker开启远程API 3.1. 修改配置

用vim编辑器修改docker.service文件

vim /usr/lib/systemd/system/docker.service

需要修改的部分:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

修改后的部分:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

3.2. 支持http

让Docker支持http上传镜像(docker对于私有仓库默认都是使用https,不信任http)

  • 192.168.92.129节点操作:
echo '{ "insecure-registries":["192.168.92.129"] }' > /etc/docker/daemon.json
  • 192.168.92.130节点操作:
echo '{ "insecure-registries":["192.168.92.130"] }' > /etc/docker/daemon.json

如果端口号不是 80;加上端口号:

echo '{ "insecure-registries":["192.168.92.129:9080"] }' > /etc/docker/daemon.json

or

echo '{ "insecure-registries":["192.168.92.130:9080"] }' > /etc/docker/daemon.json
3.3. 重新启动Docker服务
systemctl daemon-reload
systemctl restart docker
3.4. 防火墙管理

开启防火墙的Docker构建端口(需要的话)
企业中需要开启防火墙

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
3.5. 重新启动
cd /app/harbor
docker-compose down -v
docker-compose up -d
3.6. 监控状态

查看harbor的运行状态

cd /app/harbor
docker-compose ps

四、测试推送镜像

这第四测试推送镜像,都在192.168.92.129节点操作

4.1. 新建项目

删除默认的项目

新建名称为k8s项目



4.2. 登录harbor仓库
docker login -u admin -p Harbor12345 192.168.92.129

4.3. tag镜像
docker tag nginx:latest 192.168.92.129/k8s/nginx:v1.0

4.4. 上传镜像到私有仓库
docker push 192.168.92.129/k8s/nginx:v1.0 


4.5. 登录

进入项目内部

4.6. 验证镜像

验证上传的镜像

  • 如果遇到一下问题(没有就跳过):

unauthorized: unauthorized to access repository: ces/ces-auth, action: push: unauthorized to access repository: ces/ces-auth, action: push

所有操作多对的,那可能是端口模式默认的 80/443

  • 解决方案
    加端口(8080)
docker login -u admin -p Harbor12345 192.168.92.129:8080

docker push 192.168.92.129:8080/mynginx/nginx:v1.0 

五、拉取镜像

这第四测试推送镜像,都在192.168.92.130节点操作

5.1. 登录
docker login -u admin -p Harbor12345 192.168.92.129

vim /etc/docker/daemon.json
{ "insecure-registries":["192.168.92.129","192.168.92.130"] }

说明:这里可以配置nginx的服务器IP地址,或者nginx的本地域名,如果配置本地域名的话,需要在hosts为你就按中配置域名

  • 重新启动Docker服务
systemctl daemon-reload
systemctl restart docker
  • 重新启动
cd /app/harbor
docker-compose down -v
docker-compose up -d
  • 监控状态
    查看harbor的运行状态
cd /app/harbor
docker-compose ps
5.2. 拉取镜像
docker pull 192.168.92.129/k8s/nginx:v1.0

六、双主复制 6.1. 登录双节点


6.2. 新建目标

129操作


填写信息如下:

130
同步到130节点
http://192.168.92.130
admin
Harbor12345

填写完毕后,测试连接是否成功

6.3. 新建复制规则


重要的是选择目标

to130


6.4. 规则效果

6.5. 镜像同步验证

回到130节点,刷新浏览器,就会多一个k8s的项目

6.6. 新建目标

在130节点新建一个目标

填写信息如下:

129
同步到129节点
http://192.168.92.129
admin
Harbor12345


6.7. 新建规则


重要的是选择目标

to129

6.8. 规则效果

6.9. 总结

如果129服务器节点如果存在相同的项目和镜像,不会发生真正的传输,但是会比对镜像的签名,如果一样就不会再做额外的工作了。

七、基本操作 7.1. 下线
cd /app/harbor
docker-compose down -v

7.2. 监控状态

查看harbor的运行状态

cd /app/harbor
docker-compose ps

7.3. 重新部署上线
docker-compose up -d

or

docker-compose restart

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613141.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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