本文目标:配置gitlab一主二从(master 192.168.117.129,slave 192.168.117.130,192.168.117.131),其中gitlab-master外挂一主两从的数据库postgresql,gitlab-slave130挂载postgresql-130,gitlab-slave131挂载postgresql-131。
在三台机器上部署gitlab
下载安装包链接: https://pan.baidu.com/s/1geCvvWl54kp_5AJ6O8bJ3w 提取码: tser
其中gitlab-ce-zh110104.tar为gitlab-11.1.4,gitlab-ce-zh100604.tar为gitlab-10.6.4
(1)将安装包上传到/home目录,并加载镜像
1 |
docker load -i gitlab-ce-zh110104.tar |
1 |
version: '2' |
注意:上述postgresql挂载分别为三台机器上各自的postgresql
1 |
docker-compose up -d |
安装keepalived服务
Gitlab-master
(1)为keepalived开启转发
1 |
[root@localhost ~] |
(2)修改keepalived的配置文档
1 |
vim /etc/keepalived/keepalived.conf |
(3)创建检测脚本
1 |
|
(4)重启keepalived
1 |
systemctl restart keepalived |
Gitlab-slave按照上述步骤配置keepalived,只需要把其中的ip换成slave机器的ip,priority值要比master小。
安装Rsyncd服务
安装包下载链接: https://pan.baidu.com/s/1s1nPjzM9w9M8e0V4EqcZog 提取码: gv5w
master-129
(1)安装
1 |
yum localinstall *.rpm |
(2))创建用户名和密码
1 |
useradd forgitlab 创建用户forgitlab |
(3)修改配置文档
1 |
vim /etc/rsyncd.conf |
(4)创建认证文档
如果在rsyncd服务中定义了可选配置,则需创建认证文档。
1 |
[root@localhost ~]# vim /etc/rsync.pass |
(5)启动Rsyncd服务
1 |
[root@localhost ~]# systemctl start rsyncd |
(6)开启rsyncd服务端口
1 |
[root@localhost ~]# firewall-cmd --permanent --add-port=873/tcp |
slave-130 master备节点
(1)安装
1 |
yum localinstall *.rpm |
(2)创建认证文档
1 |
[root@localhost ~]# vim /etc/rsync.pass |
(4)自动执行
1 |
[root@localhost ~]# crontab -e |
【说明1】每5分钟同步一次。
【说明2】如果出现目录可以同步,文本文档类型的文档不能同步,请检查SELinux是否关闭
1、临时关闭:输入命令setenforce 0,重启系统后还会开启。
2、永久关闭:输入命令vi /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后保存退出。
原文:大专栏 Gitlab高可用部署文档