【云原生】高可用集群KEEPALIVED?你不懂,实验做做就懂了

一、实验环境

1、虚拟机版本

RHEL7.9

2、主机(四台实验机 + 一台测试机)

主机名IP地址
KA1172.25.254.10
KA2172.25.254.20
realserver1172.25.254.110
realserver2172.25.254.120
测试机(moon)172.25.254.254

 3、基础配置

(1)KA1、KA2、realserver1、realserver2四台实验机的防火墙和 selinux 都永久关闭,网卡为 eth0,本地仓库已配置,开机自动挂载;

(2)realserver1、realserver2 安装 apache 服务,并开机自启,定制网站的默认页面内容。

 二、实验内容

1、keepalived虚拟路由管理

1.1 ka1、ka2 安装 keepalived 服务

yum install keepalived -y

 1.2 修改配置文件

vim etc/keepalived/keepalived.conf

(1) 在KA1上

(2) KA1 开启 keepalived 服务

systemctl start keepalived.service

(3) KA1配置完成后将 keepalived 服务的配置文件复制给KA2

scp /etc/keepalived/keepalived.conf root@172.25.254.20:/etc/keepalived/keepalived.conf

(4) 在KA2上

(5) KA2 开启 keepalived 服务

systemctl start keepalived.service

 1.3 查看IP

ifconfig

此时我们可以看到 KA1 上存在 VIP ,而 KA2 上不存在

1.4 查看组播信息

tcpdump -i eth0 -nn host 224.0.0.18

 此时组播信息显示 VIP 在 KA1 上

当我们关闭 KA1 上的 keepalived 服务后,发现组播信息显示 VIP 在 KA2 上

至此!该实验结束!!!

额外小知识 !学到就是赚到!!

此时发现 ping 不通 VIP 172.25.254.100?

两种方法:

(1)配置文件中添加 vrrp_iptables

(2)注释 vrrp_strict

 

重启服务后就可以 ping 通啦!! 

2、开启通信功能及独立日志

(1)设置Keepalived的全局选项

(2)添加 keepalived 服务的日志配置

vim /etc/rsyslog.conf

 (3)重启服务

systemctl restart keepalived.service
systemctl restart rsyslog.service

(4)查看日志文件内容

cat /var/log/keepalived.log

 3、独立子配置文件

3.1 修改配置文件

3.2 创建目录 

mkdir -p /etc/keepalived/conf.d

3.3 创建子配置文件

 

3.4 测试

(1)重启服务

systemctl restart keepalived.service

 (2)查看 VIP 是否存在,存在即成功

 4、非抢占

(1)KA1配置文件修改从设备和添加非抢占式策略,KA2不作修改。

(2)重启服务 

systemctl restart keepalived.service

 (3)在 KA1 上查看是否存在 VIP,此时不存在

(4)接着查看 KA2上是否存在 VIP,发现 VIP

(5)关闭 KA2 上的服务,发现 KA2上没有 VIP,KA1上出现 VIP

5、延迟抢占

(1)在 KA1 上添加抢占延迟策略

(2)重启服务,立即查看 VIP,发现此时不存在 VIP 

(3)配置文件中我们设置了延迟5s,5s过后再次查看,发现 VIP 出现了

6、组播变单播

注意:

(1)在实验前一定要在配置文件中的全局变量global里注释vrrp_strict ,此参数与vip单播模式冲突;

(2)由于上述实验一直使用 KA1 子配置文件进行实验,为了实验效果以便读者观看,现注释配置文件中的“添加子配置文件”,开启配置文件中的“虚拟路由配置”。

6.1 修改配置文件

vim /etc/keepalived/keepalived.conf

在 KA1 和 KA2 上添加组播变单播策略

6.2 重启服务

systemctl restart keepalived.service

6.3 抓包查看单播效果

(1)在 KA1 上查看

(2)在 KA2 上查看发现没有任何效果 ,这是因为 KA2 是备用设备

(3)关闭 KA1 上服务,此时 KA2 发现 VIP 存在了,出现效果

7、邮件通知

7.1 网页登录qq邮箱

(1)右上角账号与安全

(2)左边的安全设置

(2)生成授权码即可

 

7.2 在KA1、KA2上进行QQ邮箱配置

vim /etc/mail.rc

 

7.3 发送测试邮件

(1)使用命令发送

echo test message |mail -s test 1683112717@qq.com

(2)在邮箱中进行查看 

7.4 在KA1、KA2上创建 Keepalived 状态切换的通知脚本

(1)创建通知脚本 

 

(2)给通知脚本权限

chmod +x /etc/keepalived/mail.sh

7.5 在 KA1 和 KA2 上添加通知策略

vim /etc/keepalived/keepalived.conf

重启服务:

systemctl restart keepalived.service

此时邮箱会出现两封邮件:

这说明我们的实验成功啦!!!

8、配置双主模式

 注意:为了读者更易观察实验现象,作者将配置文件上的邮件通知策略注释。

(1)添加配置文件

vim /etc/keepalived/keepalived.conf

在 KA1 上:

在 KA2 上:

(2)重启服务

systemctl restart keepalived.service

(3)查看 VIP

发现在 KA1 上有 172.25.254.100 的 VIP,KA2 上有 172.25.254.200 的 VIP。

9、keepalived+lvs

注意:实验前注释掉配置文件中所有 virtual_server 的内容。

(1)在 KA1 上下载 lvs 服务

yum install ipvsadm -y

(2)在 realserver1 和 realserver2 上配置环回

ip addr add 172.25.254.100/32 dev lo

(3)在 realserver1 和 realserver2 上调整网络接口的 ARP参数

 (4)在 KA1 和 KA2 的上配置 lvs 策略

vim /etc/keepalived/keepalived.conf

(5)重启服务

systemctl restart keepalived.service

(6)查看策略

ipvsadm -Ln

此时可以在 KA1 上看到 lvs 策略:

(7)测试

此时在测试机上可以看到页面内容

停止 KA1 服务,测试机依旧可以看到页面内容

10、keepalived+haproxy

注意:

(1)实验前必须注释 KA1 和 KA2 的上配置 lvs 策略;

(2)删除 realserver1 和 realserver2 上的环回;

(3) realserver1 和 realserver2 上调整网络接口的 ARP参数

10.1 在 KA1 和 KA2 上下载 haproxy 服务

yum install -y haproxy

 10.2 在 KA1 和 KA2 上配置 haproxy 服务

vim /etc/haproxy/haproxy.cfg

10.3 开启 haproxy 服务

systemctl start haproxy.service

10.3 在 KA1 和 KA2 上设置 Linux 内核参数

10.4  在 KA1 和 KA2 上写入检查 haproxy 服务的状态的脚本

(1)写入脚本

(2)给脚本权限

chmod +x /etc/keepalived/haproxy.sh 

10.5 修改配置文件

vim /etc/keepalived/keepalived.conf

 

10.6 重启服务

systemctl restart keepalived.service

10.7 测试

 关闭 KA1 上的 haproxy 服务,发现测试机上依旧可以访问 页面内容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值