在CentOS上實現GitLab的高可用部署可以通過多種方式來完成,以下是一個基本的步驟指南,使用Keepalived和HAProxy來實現高可用性。
在所有服務器上安裝必要的依賴包:
sudo yum install -y policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
在所有服務器上安裝GitLab。你可以使用官方的安裝腳本或者手動安裝。這里使用官方腳本:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://yourdomain.com" yum install gitlab-ce
編輯GitLab配置文件 /etc/gitlab/gitlab.rb,設置外部URL和其他必要的配置:
external_url 'http://yourdomain.com'
gitlab_rails['lfs_enabled'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 2222
然后重新配置并重啟GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
在兩臺服務器上安裝Keepalived:
sudo yum install -y keepalived
編輯Keepalived配置文件 /etc/keepalived/keepalived.conf:
主服務器(假設IP為192.168.1.101):
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
192.168.1.100
}
}
備用服務器(假設IP為192.168.1.102):
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
192.168.1.100
}
}
啟動Keepalived服務:
sudo systemctl enable keepalived
sudo systemctl start keepalived
在兩臺服務器上安裝HAProxy:
sudo yum install -y haproxy
編輯HAProxy配置文件 /etc/haproxy/haproxy.cfg:
global
log /dev/log local0
log /dev/log local1 notice
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back
backend http_back
balance roundrobin
server gitlab1 192.168.1.101:80 check
server gitlab2 192.168.1.102:80 check
啟動HAProxy服務:
sudo systemctl enable haproxy
sudo systemctl start haproxy
http://yourdomain.com,你應該能夠看到GitLab的登錄頁面。通過以上步驟,你可以在CentOS上實現GitLab的高可用部署。根據實際需求,你可能還需要配置SSL證書、監控和日志記錄等。