keepalived搭建配置

文章详细描述了在Ubuntu和CentOS上安装并配置keepalived以实现主备切换的过程,强调了操作系统一致性的重要性以及Ubuntu可能遇到的问题。推荐使用CentOS进行学习,因为它的配置过程相对简单。文中提供了详细的安装步骤,包括下载软件包、安装依赖、创建系统服务等,并给出了简单的配置示例。
摘要由CSDN通过智能技术生成

首先,在搞keepalived的时候,一般都是一主一备,所以需要2台设备。这两台设备,要一致,我之前是用了一台centos,一台ubuntu,然后,搞完以后发现,不管是主还是备都持有vip,后来又搞了一台centos,一台ubuntu然后再试,发现就一切正常了。所以,一定是准备2台一致的设备。

另外,再说一下,ubuntu和centos在搭建keepalived的过程,是不太一样的,总的来说,centos要好用很多,Ubuntu就显得很麻烦,问题多多....所以,如果是自己学习搭建试试手,建议还是直接centos,会很简单...

由于,我是在虚拟机上搞了4台设备,等于2个操作系统都搞了一便,因此这里记录一下搭建的过程吧。

1、下载keepalived包:

执行命令:

wget http://www.keepalived.org/software/keepalived-1.2.18.tar.gz

这是一个不是很新的版本。centos上用就可以了。由于最后Ubuntu上出了好些问题,主要是搭完后keepalived启动之后,就停不了的问题,后来在网上找了一些帖子,他们都是用的keepalived的最新版本,我当时以为是版本问题,所以,最后在ubuntu搭建的时候选择的是最新版的keepalived(2.2.7)。地址如下:

https://www.keepalived.org/software/keepalived-2.2.7.tar.gz

当然也可以用命令直接下载,将上面wget地址的最后版本号改掉即可。

2、安装keepalived之前,需要先确保openssl等一些插件处于已安装状态。而且,ubuntu和centos所需插件名称还不一样,具体来说:

ubuntu需下载:

sudo apt-get install openssl
sudo apt-get install libssl-dev

centos需下载:

yum install -y openssl openssl-devel

3、安装

Ubuntu:

# 按照如下命令执行完
tar -xvf keepalived-2.2.7.tar.gz
cd keepalived-2.2.7/
./configure -prefix=/usr/local/keepalived --sysconf=/etc
make
sudo make install

然后添加软连接:

sudo ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
sudo ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/default/keepalived
# 先换个目录
cd /usr/local/keepalived/sbin
# 采用systemd的方式添加到系统服务,执行如下命令,执行下面一整陀:

(
cat <<EOF
[Unit]
Description=Keepalive Daemon (LVS and VRRP)
After=syslog.target network-online.target
Wants=network-online.target
# Only start if there is a configuration file
ConditionFileNotEmpty=/etc/keepalived/keepalived.conf
 
[Service]
Type=forking
KillMode=process
# Read configuration variable file if it is present
EnvironmentFile=-/etc/default/keepalived
ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
 
[Install]
WantedBy=multi-user.target
EOF
) > keepalived.service

完成后执行:

sudo cp -a keepalived.service /lib/systemd/system/keepalived.service
sudo ln -s /lib/systemd/system/keepalived.service /etc/systemd/system/multi-user.target.wants/keepalived.se

然后,就可以正常执行keepalived的启动和停止动作了。

sudo service keepalived start
sudo service keepalived stop

 关键是真的停掉了,可以用 ps -ef | grep keepalive 查看结果。

不像网上一些帖子,到最后是真的听不掉.....一查就看到真没停。

欧克,然后就可以在主备节点通过停止服务的方式看到vip在不同的设备上来回切换了。

对了,这样安装完成后,keepalived的配置文件,直接就是在/etc/keepalived下,只是它会有个后缀,自己改吧改吧,重新弄一个配置文件依旧放到 /etc/keepalived下即可。

我这有个极简的,就是测测看一切正常不的:

! Configuration File for keepalived
global_defs {
   router_id 123
}


vrrp_script check_apiserver {         
 script "/etc/keepalived/check-apiserver.sh"    #健康监测脚本路径
 interval 3
 weight -2
}


vrrp_instance VI_1 {
    state MASTER
    mcast_src_ip 192.168.10.130     #自己的ip,也可不设置
    interface ens33     # 监听的网卡
    virtual_router_id 51   # 虚拟路由编号,同一实例可以一致,但是其权重一定不能一致
    priority 100     # 权重,两个节点不能一样
    advert_int 1  # 用于设定MASTER与BACKUP主机之间同步检查的时间间隔,单位秒
    authentication {   # 用于设定节点间通信验证码类型和密码 ,主要类型有PASS和AH两种,在一个vrrp_instance下,MASTER和BACKUP必须使用相同的密码才能正常通信;
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.10.138        # 虚拟IP地址
    }
    track_script {
       check_apiserver     # 健康检查配置(调用上面的 check_apiserver )
   }
}

apiServer:

#! /bin/bash

errorExit(){
  echo "*** $*" 1>&2
  exit 1
}

curl --silent --max-time 2 --insecure https://localhost:6443/ -o /dev/null || errorExit "Error GET 
https://localhost:6443/"
if ip addr | grep -q 172.18.41.14; then
  curl --silent --max-time 2 --insecure https://172.18.41.14:6443/ -o /dev/null || errorExit "Error GET 
https://172.18.41.14:6443/"
fi

对配置文件讲解的帖子很多,我这就不再介绍了:

keepalived原理简介_keepalived工作原理_fedorafrog的博客-CSDN博客

等等吧...

此处关于Ubuntu的配置有参考帖子:

(192条消息) ubuntu安装keepalived_九九九_无可救药的博客-CSDN博客

=======================================================================

ok,接下来看看centos的安装:

执行命令:

tar -xvf keepalived-1.2.18.tar.gz
cd keepalived-1.2.18/
./configure --prefix=/usr/local/keepalived
make
sudo make intsall

再搞一些软连接:

sudo cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
sudo cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
sudo cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig
sudo ln -s /usr/local/keepalived/sbin/keepalived /sbin/

# 设置开机自启动,也可以不设置

chkconfig keepalived on
#这一步待定,去看一下,如果存在这个软连接,就不用搞了
sudo cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

然后,就完成了....这里注意,关于centos的流程目前适用 keepalived-1.2.18 版本,个人不确定是否适合最新版本。

一样的启动停止命令:

service keepalived start

service keepalived stop

不过这个没有加 sudo

centos的执行结果,也是比较明确的.... 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值