Gitlab高可用性の展開ドキュメント

本明細書の目的:マスターデータベースのPostgreSQL 2から2つのマスタ(マスタ192.168.117.129、スレーブ192.168.117.130,192.168.117.131)、前記プラグgitlabマスターから構成gitlab、gitlab-slave130のPostgreSQL-130マウント、gitlab-slave131 postgresql-131を搭載。

3台のマシンにデプロイgitlab

:パッケージのリンクをダウンロードしてインストールしhttps://pan.baidu.com/s/1geCvvWl54kp_5AJ6O8bJ3w抽出コード:TSER
gitlab-11.1.4、gitlab-CE-として前記gitlab-CE-zh110104.tar zh100604.tar gitlab-10.6.4などを
(1)インストールパッケージのアップロード/ homeディレクトリ、画像をロードし、

1 
2
ドッキングウィンドウの負荷-i gitlab-CE-zh110104.tar 
vimの/home/gitlab/docker-compose.yml
1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
バージョン:'2'
のサービス:
gitlab:
画像:'twang2218 / gitlab-CE-ZH:11.1.4'
再起動:しない限り、停止
ホスト名:'192.168.117.129'
環境:
TZ:「アジア/上海の
GITLAB_OMNIBUS_CONFIG:|
external_url 'http://192.168.117.129'
gitlab_rails [ 'TIME_ZONE' ] = 「アジア/上海の
gitlab_rails [ 'gitlab_shell_ssh_port' ] = 54322
postgresqlの[ [有効にする] ] =
gitlab_railsを[ ""PostgreSQLの"
gitlab_rails [ 'db_encoding' ] = "UTF8"
gitlab_rails [ 'db_database' ] = "gitlabtest"
gitlab_rails [ 'DB_USERNAME' ] = "Postgresの"
gitlab_rails [ 'DB_PASSWORD' ] = "Postgresの"
gitlab_rails [ 'DB_HOST' ] = "192.168.117.129"
gitlab_rails [ 'DB_PORT' ] = 5432
ポート
- '8080:80'
- '843:443 [
- '54322:22'の
ボリューム:
-'/データ/ gitlab / configに:の/ etc / gitlab'
- '/データ/ gitlab /ログ:は/ var / log / gitlab'
- '/データ/ gitlab /設定/ gitlab /データ:の/ var / opt / gitlab'

注:上記のPostgreSQL PostgreSQLは、3台のマシンの各々にそれぞれ取り付けられました

1
アップドッキングウィンドウは、構成-d

インストールサービスkeepalivedの

マスターgitlab
オープン前進のための(1)keepalivedの

1 
2
3
4
[ルート@ localhostの〜] 
net.ipv4.ip_forward = 1
net.ipv4.ip_nonlocal_bind = 1
[ルート@ localhostの〜] #systemctl再起動keepalivedの

(2)keepalivedの設定ドキュメントを修正

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    Vimの/etc/keepalived/keepalived.conf

vrrp_script chk_gitlab {
スクリプト"/etc/keepalived/check-gitlab.sh"
区間2
}
vrrp_instance VI_1 {
状態マスター
インターフェースens33は
51 virtual_router_id
優先順位101
認証{
AUTH_TYPEパス
auth_passのgitlab
}
track_script {
chk_gitlab
}
virtual_ipaddress {
192.168.117.208を
}
}

(3)検出スクリプトを作成します

1 
2
3
4
5
6
7


RETURN_CODE = 'カール-s -w "%{HTTP_CODE}" -oを/ dev / nullのhttp:// 192.168.117.129`

if [[ $return_code -ne 200 ]]; then
systemctl stop keepalived
fi

(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
2
useradd forgitlab  创建用户forgitlab
passwd forgitlab 给已创建的用户forgitlab设置密码为pass123

(3)修改配置文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
vim /etc/rsyncd.conf

#设置rsync运行权限为root
uid=root
#设置rsync运行权限为root
gid=root
#最大连接数
max connections=3
#默认为true,修改为no,增加对目录文档软连接的备份
use chroot=no
#日志文档位置,启动rsync后自动产生这个文档,无需提前创建
log file=/var/log/rsyncd.log
#pid文档的存放位置
pid file=/var/run/rsyncd.pid
#支持max connections参数的锁文档
lock file=/var/run/rsyncd.lock
#用户认证配置文档,里面保存用户名称和密码 需要创建(可选)
secrets file=/etc/rsync.pass
#允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开,可设置所有
hosts allow= *
#设置rsync服务端文档为读写权限
read only = no
#不显示rsync服务端资源列表
list = no

[forgitlab]
#需要备份的源主机数据目录路径
path = /data/gitlab/data/git-data
#执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开 可选配置
auth users = forgitlab

(4)创建认证文档
如果在rsyncd服务中定义了可选配置,则需创建认证文档。

1
2
3
[root@localhost ~]# vim /etc/rsync.pass
forgitlab:pass123
chmod 600 /etc/rsync.pass

(5)启动Rsyncd服务

1
2
[root@localhost ~]# systemctl start rsyncd
[root@localhost ~]# systemctl enable rsyncd

(6)开启rsyncd服务端口

1
2
3
[root@localhost ~]# firewall-cmd --permanent --add-port=873/tcp
[root@localhost ~]# firewall-cmd --permanent --add-port=873/udp
[root@localhost ~]# firewall-cmd --reload

slave-130 master备节点
(1)安装

1
yum localinstall *.rpm

(2)创建认证文档

1
2
3
4
5
6
    [root@localhost ~]# vim /etc/rsync.pass
pass123
chmod 600 /etc/rsync.pass
(3)手动测试
``` bash
[root@localhost ~]# rsync -avzrtlp --progress --delete --password-file=/etc/rsync.pass [email protected]::forgitlab /data/gitlab/data/git-data

(4)自动执行

1
2
[root@localhost ~]# crontab -e
*/5 * * * * rsync -avzrtlp --progress --delete --password-file=/etc/rsync.pass [email protected]::forgitlab /data/gitlab/data/git-data

[1]説明の同期回5分。
ディレクトリはSELinuxが閉じてかどうかを確認し、文書のテキスト文書の種類を同期できない、同期させることができた場合は、[注2]
1を、臨時休業:システムを再起動し、コマンドsetenforce 0を入力しますがオンになります。
2は、永久的に閉じている:、viのは/ etc / selinuxを/ configのコマンドを入力します。SELINUXに=無効SELINUX =を強制し、保存して終了。

オリジナル:ビッグボックス  Gitlab高可用性展開ドキュメント


おすすめ

転載: www.cnblogs.com/petewell/p/11421895.html