溫馨提示×

如何在CentOS上實現GitLab的高可用部署

小樊
53
2025-07-26 18:51:29
欄目: 智能運維

在CentOS上實現GitLab的高可用部署可以通過多種方式來完成,以下是一個基本的步驟指南,使用Keepalived和HAProxy來實現高可用性。

前提條件

  1. 兩臺或多臺CentOS服務器:用于部署GitLab實例。
  2. 域名和SSL證書:用于訪問GitLab。
  3. 防火墻配置:確保必要的端口(如80, 443, 22)是開放的。

步驟

1. 安裝依賴包

在所有服務器上安裝必要的依賴包:

sudo yum install -y policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd

2. 安裝GitLab

在所有服務器上安裝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

3. 配置GitLab

編輯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

4. 安裝和配置Keepalived

在兩臺服務器上安裝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

5. 安裝和配置HAProxy

在兩臺服務器上安裝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

驗證

  1. 訪問 http://yourdomain.com,你應該能夠看到GitLab的登錄頁面。
  2. 關閉主服務器上的Keepalived服務,備用服務器應該接管虛擬IP,GitLab服務應該仍然可用。

通過以上步驟,你可以在CentOS上實現GitLab的高可用部署。根據實際需求,你可能還需要配置SSL證書、監控和日志記錄等。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女