部署搭建harbor高可用集群并实现nginx负载均衡转发

部署环境介绍:

首先,我们准备3台机器,2台用于部署Harbor,一台用于nginx服务;

Harbor部署机器:

node01;node02

开始部署:

打开GitHub

https://github.com/goharbor/harbor

这个是Harbor在,GitHub上的项目地址

在下面的README介绍里找到版本相关信息,点击查看 Harbor release  

 

找到你想要安装的版本,然后 Harbor offline installer  右键可以复制链接地址,然后在主机上wget下来安装包,一般安装最新版本的即可,node01和node02都需要执行

[root@node01 ~]# wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.2-rc1.tgz
[root@node01 ~]# 
[root@node01 ~]# tar -xvf harbor-offline-installer-v1.9.2-rc1.tgz
[root@node01 ~]# ll
total 620028
drwxr-xr-x 3 root root      4096 Nov  4 13:30 harbor
-rw-r--r-- 1 root root 634887088 Nov  4 11:11 harbor-offline-installer-v1.9.2-rc1.tgz

解压出来一个harbor的文件夹,在进入harbor文件夹之前,先不着急下一步,我们务必先做一件事情,就是确认一下机器上是否已经安装了docker-compose,因为harbor部署脚本执行前是需要调用docker-compose的,我这里之前安装好了。

[root@node01 ~]# docker-compose --version
docker-compose version 1.22.0, build f46880fe
[root@node01 ~]# 

这个是docker-compose的GitHub官方地址

https://github.com/docker/compose/releases

里面有2种docker-compose安装方法的介绍:

第一种是curl在线安装方式(看介绍里的curl方式,直接复制命令在主机上执行)

第二种是下载tar包解压缩安装方式(往下找Assets里可以找到安装包,下载安装后放到/usr/local/bin/下并赋予执行权限)

 

实在不会安装的话就用第三种:

https://pan.baidu.com/s/1N25H3ej5HUatCsNrVyOsZw

提取码:4k1e

把我上传压缩包下载放到服务器上,然后按照下面的操作即可

[root@node01 docker-compose]# ll
total 11476
-rw-r--r-- 1 root root 11750136 Nov  4 11:00 docker-compose-Linux-x86_64-1.22.0
[root@node01 docker-compose]#
[root@node01 docker-compose]#
[root@node01 docker-compose]# mv docker-compose-Linux-x86_64-1.22.0 /usr/local/bin/docker-compose
[root@node01 docker-compose]#
[root@node01 docker-compose]#
[root@node01 docker-compose]# chmod +x /usr/local/bin/docker-compose 
[root@node01 docker-compose]#
[root@node01 docker-compose]# docker-compose --version
docker-compose version 1.22.0, build f46880fe
[root@node01 docker-compose]#

确认docker-compose安装完毕后,再确认一下机器上是不是已经跑了80端口的web服务,有的话先停了;接下来就是不熟harbor

进入刚才解压缩出来的harbor目录下,编辑harbor.yml文件

harbor.yml

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 172.19.195.212

# http related config

把yml文件里的hostname:后面改成你那台机器的IP地址,2台机器都需要改成各自的hostname:IP地址

保存关闭;

执行  bash -x install.sh

然后脚本执行完毕后就部署结束,脚本执行完毕后,会看到最后出来一段提示如下:

Now you should be able to visit the admin portal at http://172.19.195.212. 
For more details, please visit https://github.com/goharbor/harbor .
'
+ printf '✔ %s\n' '----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://172.19.195.212. 
For more details, please visit https://github.com/goharbor/harbor .
'
✔ ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://172.19.195.212. 
For more details, please visit https://github.com/goharbor/harbor .

如果是内网或者虚拟机部署的,即打开  http://172.19.195.212 就能看到harbor的登录了,如果是在阿里云或者腾讯云等云主机部署的,则需要在浏览器中打开172.19.195.212对应的公网IP地址去打开浏览。

2台机器都部署好并出现结束语的提示;

nginx做负载均衡访问

接下来做一个nginx的upstream代理做负载均衡,这里只是一个nginx配置的实例参考;并且这一步根据需求操作,没有需求可以直接跳过,不影响整体搭建。

在nginx.conf配置中加上一个upstream的配置 server的2个地址则是刚才部署harbor的2台机器IP,端口是80.


upstream harbor{
     server 172.19.195.212:80;
     server 172.19.195.213:80;

}
server{
   listen       80;        #端口
   server_name  harbor.wangting.fun;   #服务名
   charset utf-8; # 避免中文乱码
   autoindex  on;
   location / {
            root html;
            index index.html index.htm;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://harbor;
             }
     }

重载配置   : /etc/init.d/nginx reload

验证部署结果:

之后就可以登录,直接点击 http://harbor.wangting.fun  就可以访问了,并且还是负载均衡的2台机器调用。

注意:这里只是做一个简单的部署介绍,用于学习参考,实际生产使用,配置文件则需要做更多方面的配置修改,不可能这样简单的部署就投入使用了,比如harbor设置数据盘存储路径,高可用集群数据库配置等等。

 

如果是初次搭建

默认登录用户名:admin

默认登录的密码:Harbor12345

到这里整个搭建已经全部完毕了,Harbor详细的使用方法,还请自行百度学习。

 

简单的使用介绍:

第一次使用时,需要去配置一下docker的配置文件,因为默认是443端口访问的,直接使用会出现connect: connection refused这样的错误提示

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://dm8leeoe.mirror.aliyuncs.com"],
  "insecure-registries": ["172.19.195.212"]
}

加上"insecure-registries": ["172.19.195.212"]-----# IP换成自己部署的机器IP

[root@node01 harbor]# systemctl daemon-reload 
[root@node01 harbor]# systemctl restart docker
[root@node01 harbor]# docker-compose restart
[root@node01 harbor]# docker login 172.19.195.212

输入Harbor的账号密码,之后推送一个镜像试一下

[root@node01 harbor]# docker pull openjdk:8-jre-alpine
[root@node01 harbor]# 
[root@node01 harbor]# docker tag openjdk:8-jre-alpine 172.19.195.212/library/openjdk:8-jre-alpine
[root@node01 harbor]# 
[root@node01 harbor]# docker push 172.19.195.212/library/openjdk:8-jre-alpine
The push refers to repository [172.19.195.212/library/openjdk]
edd61588d126: Pushed 
9b9b7f3d56a0: Pushed 
f1b5933fe4b5: Pushed 
8-jre-alpine: digest: sha256:b2ad93b079b1495488cc01375de799c402d45086015a120c105ea00e1be0fd52 size: 947

截止到这,镜像已经成功推到仓库去了,我们再用界面打开复核验证一下,可以正常的查到。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
根据提供的引用内容,可以看出harbornginx之间是通过nginx的upstream代理实现负载均衡的。在nginx的配置文件nginx.conf中,需要添加一个upstream的配置,其中包括两个server地址,分别对应部署harbor的两台机器的IP和端口。例如,在配置文件中添加以下配置: ```nginx upstream harbor { server 172.19.195.212:80; server 172.19.195.213:80; } ``` 之后,在server块中,监听端口80,并设置服务名为harbor.wangting.fun,同时配置其他相关参数。在location块中,将请求转发到上述定义的upstream,实现负载均衡的代理。 此外,还提到了harbor.yml文件中的配置,其中指定了用于访问admin UI和注册服务的IP地址或主机名。需要确保这个地址不是localhost或127.0.0.1,因为Harbor需要被外部客户端访问。 这样,通过nginx的upstream代理实现负载均衡,可以让请求在部署harbor的多台机器之间进行均衡分配,提高系统的性能和可用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [部署搭建harbor高可用集群实现nginx负载均衡转发](https://blog.csdn.net/wt334502157/article/details/102894931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王亭_666

感觉对你有帮助,谢谢支持一下~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值