keepalived部署脚本

#!/bin/bash
: '
 @function: install keepalived
 @author: gongguan
 @date: 2021-12-10
'
set -e
echo "<<<<<<<<<<<<<<<<<<<<安装依赖包>>>>>>>>>>>>>>>>>>>>>>"
#yum install -y gcc* openssl-devel libnl* net-snmp-devel libnfnetlink-devel
echo "<<<<<<<<<<<<<<<<<<<<执行解压命令>>>>>>>>>>>>>>>>>>>>"
tar -xf keepalived-2.0.0.tar.gz
[ $? -eq 0 ] && echo "<<<<<<<<<<<解压成功,进入路径执行编译>>>>>>>>>>>>>"
cd keepalived-2.0.0
./configure --prefix=/usr/local/keepalived
echo "<<<<<<<<<<<<<<<<<<<安装>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
make && make install
echo "<<<<<<<<<<<<<<<<<<复制keepalived启动文件到/sbin目录下>>>>>>>>>>>>>"
cp -a /usr/local/keepalived/sbin/keepalived /sbin/
echo "<<<<<<<<<<<<<<<<<<将keepalived文件复制到/etc/sysconfig/中>>>>>>>>>"
cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
echo "<<<<<<<<<<<<<<<<<<复制文件keepalived.conf到/etc/keepalived/目录>>>"
[ ! -d /etc/keepalived ] && mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
echo "<<<<<<<<<<<<<<<<<<<<<<配置服务启动文件>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
cat  > /lib/systemd/system/keepalived.service << EOF
[Unit]
Description=LVS and VRRP High Availability Monitor
After= network-online.target syslog.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/keepalived.pid
KillMode=process
EnvironmentFile=/etc/sysconfig/keepalived
ExecStart=/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
EOF
systemctl enable keepalived
systemctl start keepalived

注意:上面只是部署,并没配置VIP,需要根据实际情况自行配置VIP

标签