【GitLab】下载搭建

一、下载安装

1、准备工作

服务器建议CPU4个,内存5G以上。否则可能会出现安装或者使用卡顿

#查看Linux系统的版本信息
cat /proc/version
#查看Linux系统发行版信息
cat /etc/redhat-release

在这里插入图片描述
上面两个步骤为后面下载什么样的rpm包做准备

#追加本地域名 ping通之后需要重启,不然会影响后续启动服务出现主机名为数字的错误
echo 192.168.31.129 gitlab >>/etc/hosts
#测试 
ping gitlab
#安装gitlab依赖软件:
dnf install -y curl policycoreutils openssh-server openssh-clients postfix

curl:用于上传或者下载,可以进行数据传输
openssh-server:ssh协议远程登录服务端
openssh-clients:ssh协议远程登录客户端
postfix:邮件传输协议,用于发送邮件

在这里插入图片描述
在这里插入图片描述

获取GPG密钥,保证下载的gitlab包是由gitlab官方发布的不是被篡改的软件包
GPG密钥:GPG(GNU Privacy Guard)是一种基于OpenPGP标准的加密软件,用于提供文件加密和验证的功能。GPG密钥可以保证软件下载的完整性和安全性。通过使用该公钥,你可以验证下载的软件包是否来自GitLab官方,从而确保GitLab安装的安全。

在这里插入图片描述

## 
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
systemctl start postfix ## 开启服务
systemctl enable postfix  ## 设置开机启动
systemctl enable postfix --now ## 以上2行合并
systemctl status postfix ## 检查postfix服务状态

在这里插入图片描述

2、下载安装

下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
在这里插入图片描述
在这里插入图片描述

# 进入下载目录
mkfie /software
cd /software
# 下载(注意证书过期,需要根据提示加上--no-check-certificate)
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-17.3.6-ce.0.el8.x86_64.rpm/download.rpm --no-check-certificate
# 安装gitlab
rpm -ivh gitlab-ce-17.3.6-ce.0.el8.x86_64.rpm 

在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/47231156eb0e4efc9003fec746aa2a42.png

3、配置

# 配置访问IP及端口:
vim /etc/gitlab/gitlab.rb
# 确保防火墙开放并开放上面端口
# 防火墙操作:
systemctl status firewalld
systemctl enable  --now firewalld
systemctl status firewalld
# 添加请求服务
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 开放端口
firewall
搭建 GitLab 高可用集群通常涉及多个组件的冗余设计和负载均衡,以确保 GitLab 服务的高可用性和可扩展性。以下是实现 GitLab 高可用集群的关键步骤和架构设计: ### 1. 架构设计概述 GitLab 高可用集群通常包括以下核心组件: - **GitLab 应用节点**:运行 GitLab 应用服务,包括前端、后端、数据库、Redis、对象存储等。 - **数据库集群**:使用主从复制或集群数据库(如 PostgreSQL 集群或 MySQL Galera Cluster)确保数据库的高可用性。 - **共享存储**:使用 NFS 或对象存储(如 MinIO、AWS S3)来共享 GitLab 的仓库数据、附件、备份等。 - **负载均衡器**:通过 Nginx、HAProxy 或云服务(如 AWS ELB)来分发流量到多个 GitLab 节点。 - **Redis 集群**:用于缓存和消息队列,支持高可用 Redis 集群或 Redis Sentinel。 - **Keepalived(可选)**:用于实现 VIP(虚拟 IP)的故障转移,提升集群的可用性。 ### 2. 安装与配置 GitLab 节点 使用 GitLab Omnibus 包部署多个 GitLab 应用节点,确保所有节点指向相同的共享存储、数据库和 Redis 服务。例如: ```bash # 安装 GitLab Omnibus 包 sudo apt-get install gitlab-ce # 配置 GitLab 使用共享存储 gitlab_rails['shared_path'] = "/mnt/nfs/gitlab/shared" gitlab_rails['uploads_directory'] = "/mnt/nfs/gitlab/uploads" gitlab_rails['backup_path'] = "/mnt/nfs/gitlab/backups" ``` ### 3. 数据库高可用配置 配置 PostgreSQL 或 MySQL 集群,确保数据库的高可用性。例如,使用 Patroni 和 etcd 实现 PostgreSQL 高可用集群。 ### 4. Redis 高可用配置 使用 Redis Sentinel 或 Redis Cluster 实现 Redis 的高可用性,确保缓存和队列服务不会成为单点故障。 ### 5. 共享存储配置 使用 NFS 或对象存储来共享 GitLab 的数据目录。例如,配置 NFS 共享: ```bash # 在 NFS 服务器上创建共享目录 sudo mkdir -p /mnt/nfs/gitlab sudo exportfs -o rw,sync,no_subtree_check 192.168.1.0/24:/mnt/nfs/gitlab # 在 GitLab 节点上挂载 NFS 共享目录 sudo mount 192.168.1.1:/mnt/nfs/gitlab /mnt/nfs/gitlab ``` ### 6. 负载均衡配置 使用 Nginx 或 HAProxy 配置负载均衡器,将流量分发到多个 GitLab 节点。例如,使用 Nginx 配置负载均衡: ```nginx upstream gitlab_servers { least_conn; server gitlab-node1 weight=3; server gitlab-node2; keepalive 32; } server { listen 80; server_name gitlab.example.com; location / { proxy_pass http://gitlab_servers; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` ### 7. Keepalived(可选) 通过 Keepalived 实现负载均衡器的高可用性,确保 VIP 的故障转移。例如,配置 Keepalived: ```bash vrrp_script chk_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 12345678 } virtual_ipaddress { 192.168.1.100 } track_script { chk_nginx } } ``` ### 8. GitLab Runner 高可用配置 GitLab Runner 可以以 Pod 形式运行在 Kubernetes 集群中,实现 CI/CD 的高可用性。通过 Kubernetes 的自动扩缩容和负载均衡机制,确保 CI/CD 任务的可靠执行。 ### 9. 监控与日志 使用 Prometheus、Grafana、ELK 等工具对 GitLab 集群进行监控和日志管理,确保能够及时发现和解决问题。 ### 10. 备份与恢复 定期备份 GitLab 数据,并测试恢复流程,确保在灾难发生时能够快速恢复服务。 通过以上步骤,可以实现 GitLab 高可用集群的搭建,提升 GitLab 服务的稳定性和可靠性[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值