Bootstrap

龙叔gitlab:超详细·gitlab的高可用搭建完整过程

        代码仓库,gitlab使用相当广泛,大小公司基本都会使用到,下面简单介绍下gitlab高可用环境的搭建过程

整体架构图

服务器信息(随便写的IP):

vip:1.1.1.1

nginx主节点 :2.2.2.2

nginx备节点:3.3.3.3

gitlab主节点:4.4.4.4

gitlab从节点:5.5.5.5

数据库IP:6.6.6.6 5432

操作系统都为centos7

1·nginx安装配置

nginx主节点 :2.2.2.2

nginx备节点:3.3.3.3

1.1·nginx安装

 下载安装包 解压

/configure  --prefix=/data/nginx 

make

make install

安装完创建软连接,方便管理nginx:

ln -s  /data/nginx/sbin/nginx /usr/bin/nginx

配置文件(主备一样):这里用的是nginx四层转发

user  www;
worker_processes  2;

worker_cpu_affinity 01 10;
worker_priority -5;
worker_rlimit_nofile 65535;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
#worker_cpu_affinity 01 10;


events {
    worker_connections  10240;
}


stream {


    log_format main '[ $time_iso8601 ] - [ $protocol ] - [ $remote_addr ] - '
        '[ $session_time ] - [ $upstream_addr ] - [ $upstream_connect_time ] - [ $status ]';

    upstream gitlab_ssh {
      server 4.4.4.4:22;
      #server 5.5.5.5:22;
    }

    server {
      access_log  logs/gitlab-ssh-acc.log  main;
      listen 1122;
      proxy_pass gitlab_ssh;
      proxy_connect_timeout 1h;
      proxy_timeout 1h;
    }

    upstream gitlab_http {
      server 4.4.4.4:80;
      #server 5.5.5.5:80;
    }

    server {
      access_log  logs/gitlab-http-acc.log  main;
      listen 80;
      proxy_pass gitlab_http;
      proxy_connect_timeout 1h;
      proxy_timeout 1h;
    }

}
 

1.2·keepalived安装

下载安装包keepalived-2.0.20.tar.gz

安装前线安装下面的东西   不然会有对应的报错

OpenSSL is not properly installed on your system.

安装

/configure  --prefix=/data/keepalived

make

make install

配置

# keepalived启动脚本变量引用文件,默认文件路径是/etc/sysconfig/,也可以不做软链接,直接修改启动脚本中文件路径即可(安装目录下)

  [root@localhost /]# cp /data/keepalived/etc/sysconfig/keepalived /etc/sysconfig/keepalived

# 将keepalived主程序加入到环境变量(安装目录下)

  [root@localhost /]# cp /data/keepalived/sbin/keepalived /usr/sbin/keepalived

# keepalived启动脚本(源码目录下),放到/etc/init.d/目录下就可以使用service命令便捷调用

  [root@localhost /]# cp /root/wxl_src/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/keepalived

# 将配置文件放到默认路径下

  [root@localhost /]# mkdir /etc/keepalived

  [root@localhost /]# cp /data/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

  • 加为系统服务ÿ
;