在CentOS上部署GitLab集群需要多個步驟,包括準備環境、安裝依賴、配置負載均衡器、設置主節點和從節點等。以下是一個基本的指南:
確保你有一臺或多臺CentOS服務器,并且它們之間可以互相通信。
在所有節點上安裝必要的依賴包:
sudo yum install -y curl policycoreutils openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
確保防火墻允許HTTP/HTTPS流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
在所有節點上安裝GitLab。你可以使用官方的安裝腳本或者手動安裝。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://your_gitlab_domain" yum install gitlab-ce
下載GitLab CE RPM包:
wget https://mirrors.edge.kernel.org/pub/software/scm/git/gitlab-ce/yum/el7/gitlab-ce-<version>.el7.x86_64.rpm
安裝GitLab CE:
sudo yum install gitlab-ce-<version>.el7.x86_64.rpm
編輯 /etc/gitlab/gitlab.rb
文件,配置外部URL和集群設置:
external_url 'http://your_gitlab_domain'
# 配置主節點
gitlab_rails['lfs_enabled'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 22
# 配置從節點
gitlab_rails['lfs_enabled'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 2222
使用Nginx或HAProxy作為負載均衡器。
安裝Nginx:
sudo yum install -y nginx
配置Nginx:
編輯 /etc/nginx/conf.d/gitlab.conf
文件:
upstream gitlab {
server master_node_ip;
server slave_node_ip;
}
server {
listen 80;
server_name your_gitlab_domain;
location / {
proxy_pass http://gitlab;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
啟動Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
在主節點上初始化集群:
sudo gitlab-ctl reconfigure
訪問你的GitLab域名,確保所有節點都能正常工作。
通過以上步驟,你應該能夠在CentOS上成功部署一個GitLab集群。