日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gitlab+keepalived

發布時間:2024/1/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gitlab+keepalived 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1. 192.168.1.247 節點01

  1.1 安裝keepalived01

  ```bash
  root@ubuntu-server03:~# apt-cache search keepalived
  keepalived - Failover and monitoring daemon for LVS clusters
  root@ubuntu-server03:~# apt-cache policy keepalived
  keepalived:
    已安裝: 1:1.2.7-1ubuntu1
    候選軟件包:1:1.2.7-1ubuntu1
    版本列表:
      1:1.2.13-1~ubuntu14.04.1 0
      100 http://mirrors.163.com/ubuntu/ trusty-backports/main amd64 Packages
    *** 1:1.2.7-1ubuntu1 0
      500 http://mirrors.163.com/ubuntu/ trusty/main amd64 Packages
      100 /var/lib/dpkg/status
    root@ubuntu-server03:~# apt-get install -y keepalived
    root@ubuntu-server03:~# dpkg -l | grep keepalived
    ii keepalived 1:1.2.7-1ubuntu1 amd64 Failover and monitoring daemon for LVS clusters
    ```

1.2 配置keepalived01

  ```bash
  root@ubuntu-server03:~# cat /etc/keepalived/keepalived.conf
  global_defs { #自由定義
  notification_email {
  xxxxx@mail.com
    }
  notification_email_from keepalived@chtopnet.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id 51
    }

  vrrp_script chk_gitlab {
  script "/etc/keepalived/check_gitlab.sh" #定義一個監測腳本
  interval 2 #腳本執行頻率(單位:s)
    }

  vrrp_script check_mysqld {
  script "/etc/keepalived/check_mysql.sh" #定義一個監測腳本
  interval 2
    }

  vrrp_instance VI_1 {
  state BACKUP #兩個主機都寫BACKUP即可
  nopreempt #非搶占模式,只需要在主設置即可
  interface em1 #綁定的網卡
  virtual_router_id 51 #兩個主機id一致
  mcast_src_ip 192.168.1.247 #vrrp實體服務器的IP
  priority 100 #權重高于另一個即可
  advert_int 1
  authentication {
  auth_type PASS #驗證方式
  auth_pass chtopnet
    }
  virtual_ipaddress {
  192.168.1.245/24 #虛擬IP  
    }
  track_script {
  check_mysqld #應用監測腳本
  chk_gitlab
    }
  }
  root@ubuntu-server03:~# service keepalived restat
  ```

2. 192.168.1.248 節點02

  2.1 安裝keepalived02

 安裝步驟和keepalived01 一樣

 2.3 配置keepalived02

 ```bash
 root@ubuntu-server04:~# cat /etc/keepalived/keepalived.conf
 global_defs {
 notification_email {
 xxxxx@mail.com
 }

 notification_email_from keepalived@chtopnet.com
 smtp_server 127.0.0.1
 smtp_connect_timeout 30
 router_id 51
 }

 vrrp_script chk_gitlab {
 script "/etc/keepalived/check_gitlab.sh"
 interval 2
 }
 vrrp_script check_mysqld {
 script "/etc/keepalived/check_mysql.sh"
 interval 2
 }

 vrrp_instance VI_1 {
 state BACKUP
 interface em1
 virtual_router_id 51
 mcast_src_ip 192.168.1.248
 priority 99
 advert_int 1
 authentication {
 auth_type PASS
 auth_pass chtopnet
 }
 virtual_ipaddress {
 192.168.1.245/24
 }
 track_script {
 check_mysqld
 chk_gitlab
 }
}
root@ubuntu-server04:~# service keepalived restat
```

3. 監測腳本

check\_gitlab.sh

```bash
root@ubuntu-server03:~# cat /etc/keepalived/check_gitlab.sh
#!/bin/bash

container_state=`docker ps -a | grep gitlabnew_boxfish-gitlab | awk '{print $1}' | xargs docker inspect --format='{{.State.Status}}'`

if [ ${container_state} = "running" ]; then
  exit 0
else
  exit 1
fi
```

check\_gitlab.sh

```bash
root@ubuntu-server04:~# cat /etc/keepalived/check_mysql.sh
#!/bin/bash
Mysqlbin=/usr/bin/mysql
user=root
pw='boxfish123'
port=3306
host=127.0.0.1
sbm=120

#Check for $Mysqlbin
if [ ! -f $Mysqlbin ];then
  echo 'Mysqlbin not found,check the variable Mysqlbin'
  exit 99
fi

#Get Mysql Slave Status
IOThread=`$Mysqlbin -h $host -P $port -u$user -p$pw -e 'show slave status\G' 2>/dev/null|grep 'Slave_IO_Running:'|awk '{print $NF}'`
SQLThread=`$Mysqlbin -h $host -P $port -u$user -p$pw -e 'show slave status\G' 2>/dev/null|grep 'Slave_SQL_Running:'|awk '{print $NF}'`
SBM=`$Mysqlbin -h $host -P $port -u$user -p$pw -e 'show slave status\G' 2>/dev/null|grep 'Seconds_Behind_Master:'|awk '{print $NF}'`

#Check if the mysql run
if [[ -z "$IOThread" ]];then
  exit 1
fi

#Check if the thread run
if [[ "$IOThread" = "No" || "$SQLThread" = "No" ]];then
  exit 1
elif [[ $SBM -ge $sbm ]];then
  exit 1
else
  exit 0
fi
```

轉載于:https://www.cnblogs.com/jin-yuana/p/9791883.html

總結

以上是生活随笔為你收集整理的gitlab+keepalived的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。