一、方案架构
二、实现步骤
1、资源准备
1)建议准备两台机器,24核32G磁盘300G
server1:10.0.13.31
server2:10.0.6.53
2)搭建nfs,存储git目录
3)gerrit安装插件high-availability,可以到gerrit 编译jenkins网站获取
4)HAProxy搭建,做负载均衡
2、Gerrit配置high-availability
high-availability插件安装成功后,GERRIT_HOME/etc目录下创建high-availability.config文件
main.sharedDirectory:git共享目录
peerInfo.strategy:静态策略允许使用配置参数peerInfo.static.url静态配置对,这边使用static
peerInfo.static.url: 指定对等实例的 URL。如果要配置多个对等实例,请根据需要添加任意数量的 url 条目
http.user:连接的用户名
http.password:连接的密码
autoReindex.enabled:启用对每个索引的数据/高可用性下索引的最新更改的跟踪。启动时会扫描所有更改、帐户和组,并重新索引服务器关闭时其他节点更新的更改、帐户和组。如果未指定,则默认值为“false”,这意味着启动时没有自动跟踪和索引
3、HAproxy配置
haproxy.cfg详细如下:
frontend:前端配置,暴露端口
mode:http 访问gerrit的端口,8082
mode:tcp gerrit ssh 默认端口,29418
backend:后端配置,几个server,就配置几个
4、haproxy监控
三、总结:
1、high-availability插件不能直接下载对应的3.x版本使用,需要从2.x版本升级上来
2、配置HAproxy之后,使用域名登入,keyclak认证一直过不去,报错not found,发现是之前使用两个server在不使用域名的情况下配置了ip使用,没有改过来,具体配置是:canonicalWebUrl = http://gerrit-test.hozonauto.com:8082