shell脚本一键部署lvs+keepalived
2024-10-19 03:51:59
环境
两个调度器dr1、dr2,两台真实机rs1、rs2。两台真实机安装httpd,并编辑主页内容用于验证
vip="192.168.132.250"
dr1="192.168.132.120"
dr2="192.168.132.121"
rs1="192.168.132.131"
rs2="192.168.132.134"
配置
#/bin/bash
vip="192.168.132.250"
dr1="192.168.132.120"
dr2="192.168.132.121"
rs1="192.168.132.131"
rs2="192.168.132.134" #dr1配置keepalived
yum install -y keepalived
cat > /etc/keepalived/keepalived.conf <<EOF
global_defs {
} vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
$vip/
}
} virtual_server $vip {
delay_loop
lb_algo rr
lb_kind DR
protocol TCP real_server $rs1 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
}
real_server $rs2 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
}
}
}
EOF
systemctl restart keepalived yum install -y ipvsadm sshpass
sed -i 35c"StrictHostKeyChecking no" /etc/ssh/ssh_config
setenforce
systemctl stop firewalld #dr1复制keepalived文件到dr2
sshpass -p root ssh $dr2 "yum install -y keepalived"
sshpass -p root scp /etc/keepalived/keepalived.conf $dr2:/etc/keepalived/keepalived.conf #dr2配置keepalived
dr2_cmd="
setenforce ;
systemctl stop firewalld;
sed -i 's/MASTER/BACKUP/g' /etc/keepalived/keepalived.conf;
sed -i 's/100/90/g' /etc/keepalived/keepalived.conf;
systemctl restart keepalived;
"
sshpass -p root ssh $dr2 "$dr2_cmd" #rs1,rs2配置lvs
cmd="
setenforce ;
firewall-cmd --add-port=/tcp;
ifconfig lo: $vip broadcast $vip netmask 255.255.255.255 up;
route add -host $vip dev lo:;
echo "" > /proc/sys/net/ipv4/conf/lo/arp_ignore;
echo "" > /proc/sys/net/ipv4/conf/lo/arp_announce;
echo "" > /proc/sys/net/ipv4/conf/all/arp_ignore;
echo "" > /proc/sys/net/ipv4/conf/all/arp_announce;
service httpd restart
"
sshpass -p root ssh $rs1 "$cmd"
sshpass -p root ssh $rs2 "$cmd"
最新文章
- extern关键字
- word开发遇到的问题
- JAVA创建并写入内容到xlsx文件
- 从欧几里得距离、向量、皮尔逊系数到http://guessthecorrelation.com/
- JS面试题及答案总结
- JSP里比对单选框或复选框的数值而自动打勾
- wpf的学习日志(二)
- 命令自动补全模块rlcomplete
- Unity 3D Framework Designing(7)——IoC工厂理念先行
- java.util.Properties类 学习笔记
- 一天搞定HTML----列表标签03
- JavaScript 遍历多维数组
- nginx+tomcat单个域名及多个域名配置
- 在java或 js中的日期时间转换问题
- django rest-framework 3.类 实现restful
- RSA加密解密算法
- (详细)华为荣耀V10 BKL-AL00的USB调试模式在哪里打开的步骤
- 安装 SIP 服务器
- 命令行创建cocos2d-x的工程
- 关于ICO的一些理解