概述
环境
目标
客户机通过访问VIP192.168.233.100可以访问到192.168.233.17/18的web服务,当所处主节点的HAProxy异常无法访问,可以自动切换另外一台HAProxy机器
keepalived配置
! Configuration File for keepalived
global_defs {
notification_email {
acassen
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id ubuntu-195 #另一台keepalived机器是ubuntu-196
}
vrrp_instance web {
state MASTER #另一台keepalived机器是BACKUP
interface ens33
virtual_router_id 50
priority 100 #另一台keepalived机器是80
advert_int 1
authentication { #认证机制
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.233.100/24 dev ens33 label ens33:1
}
track_interface {
ens33
}
track_script {
check_haproxy #调用定义的脚本
}
}
vrrp_script check_haproxy {
script "/etc/keepalived/check_haproxy.sh" #shell命令或脚本路径
interval 1 #间隔时间,单位为秒,默认1秒
weight -30 #默认为0,如果设置此值为负数,当上面脚本返回值为非0时,会将此值与本节点权重相加可以降低本节点权重,即表示fall. 如果是正数,当脚本返回值为0,会将此值与本节点权重相加可以提高本节点权重,即表示 rise.通常使用负值
fall 3 #脚本几次失败转换为失败,建议设为2以上
rise 2 #脚本连续监测成功后,把服务器从失败标记为成功的次数
timeout 2 #超时时间
}
HAProxy配置
脚本内容
root@ubuntu-195:/etc/haproxy# cat /etc/keepalived/check_haproxy.sh
#!/bin/bash
/usr/bin/killall -0 haproxy || systemctl restart haproxy
启用内核参数
echo 'net.ipv4.ip_nonlocal_bind = 1' >> /etc/sysctl.conf
sysctl -p
global
maxconn 100000
chroot /apps/haproxy
stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
user haproxy
group haproxy
daemon
pidfile /var/lib/haproxy/haproxy.pid
log 127.0.0.1 local2 info
defaults
option http-keep-alive
option forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client 300000ms
timeout server 300000ms
listen web
bind 192.168.233.100:80
server web1 192.168.233.17:80 check
server web2 192.168.233.18:80 check
listen stats
mode http
bind 192.168.233.195:9999
stats enable
log global
stats uri /haproxy-status
stats auth haadmin:123456
至此,keeplived结合HAProxy配置完成
最后
以上就是执着大神为你收集整理的keepalived+HAProxy环境目标keepalived配置HAProxy配置的全部内容,希望文章能够帮你解决keepalived+HAProxy环境目标keepalived配置HAProxy配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复