实现haproxy+keepalived集群高可用集群转发和LVS+keepalived高可用集群(6.22-6.29)2020-06-30

一、实现haproxy+keepalived集群高可用集群转发


ip地址192.168.248.222和192.168.248.223安装两个nginx网站,
ip地址192.168.248.220和192.168.248.221都安装haproxy和keepalived,实现负载和高可用。
实验环境,关闭防火墙和selinux,以免影响拍错
~]#systemctl disable firewalld
~]#systemctl stop  firewalld


1、两台后端配置nginx网站(192.168.248.222和192.168.248.223)

下载nginx yum源
 ~]#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
清楚yum缓存并验证yum配置成功
~]#yum  clean  all
~]#yum  repolist
安装nginx   ]#yum  install  nginx
配置nginx   
~]#vi  /etc/nginx/conf.d/zidingyi.conf
server {
    listen       80;
    server_name  localhost;
    root  /data;
}
两台node节点分别新建文件
192.168.248.223节点
~]# vi /data/index.html
hello  223
192.168.248.222节点
~]# vi /data/index.html
222  welcome
在本机验证两个网正常访问

2、配置haproxy(192.168.248.220和192.168.248.221)
两台node设置一样
安装haproxy和设置开机自启
~]# yum install haproxy
~]# systemctl  enable   haproxy

配置haproxy
~]# vi   /etc/haproxy/haproxy.cfg
global和defaults默认配置不动,修改

frontend  web_port_http_nodes  
    bind   0.0.0.0:80 #绑定本机的那个端口
    default_backend  web_prot_http_nodes
backend web_prot_http_nodes
    balance   roundrobin #设为轮训
    server  web1 192.168.248.222:80  check
    server  web2 192.168.248.223:80  check
重新启动haproxy
查看80端口是否打开
 ~]# ss  -tnl
浏览器访问,确认两个网站是否轮询打开

3、配置安装keepalived  (192.168.248.220和192.168.248.221)
~]# yum install keepalived
启动并设置开机自启
~]#systemctl  enable  keepalived
~]#systemctl  start   keepalived
修改配置文件vi   /etc/keepalived/keepalived.conf,vip地址为192.168.248.248
192.168.248.220设置为主

global_defs {
   router_id keep
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.248.248
    }
}

192.168.248.221设置为备

global_defs {
   router_id keep
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.248.248
    }
}

重启keepalived服务
systemctl  restart  keepalived
查看主几点网络ip
~]# ip a  l确认192.168.248.248在网卡上配置

使用浏览器访问  192.168.248.248,验证是否轮询调度
关掉主节点,查看从节点VIP是否配置,并用浏览器再次验证

二、实现LVS+keepalived高可用集群

ip地址192.168.248.222和192.168.248.223安装两个nginx网站,
ip地址192.168.248.220和192.168.248.221都安装lvs和keepalived,实现负载和高可用。
实验环境,关闭防火墙和selinux,以免影响排错


~]#systemctl disable firewalld
~]#systemctl stop  firewalld


1、两台后端配置nginx网站(192.168.248.222和192.168.248.223)

下载nginx yum源
~]#rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
清楚yum缓存并验证yum配置成功
~]#yum  clean  all
~]#yum  repolist
安装nginx   ]#yum  install  nginx
配置nginx   
~]#vi  /etc/nginx/conf.d/zidingyi.conf
server {
    listen       80;
    server_name  localhost;
    root  /data;
}
两台node节点分别新建文件
192.168.248.223节点
~]# vi /data/index.html
hello  223
192.168.248.222节点
~]# vi /data/index.html
222  welcome
在本机验证两个网正常访问

2、设置nginx节点内核参数
   /sbin/ifconfig lo:0 192.168.248.248 netmask 255.255.255.255 broadcast 192.168.248.248 
   /sbin/route add -host 192.168.248.248  dev lo:0
   echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
   echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
   echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
   echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

3、在keep上安装keep和lvs
~]#yum -y install keepalived
~]# yum install -y ipvsadm
! Configuration File for keepalived

global_defs {
    router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface  ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.248.248
    }
}

virtual_server 192.168.248.248 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    nat_mask 255.255.255.0
    protocol TCP
    real_server 192.168.248.222 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 1
            nb_get_retry 1
            delay_before_retry 1
            connect_port 80
        }
    }
    real_server 192.168.248.223 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 1
            nb_get_retry 1
            delay_before_retry 1
            connect_port 80
        }
    }
备份节点修改state为BACKUP和权重priority(小于100)

测试
查看lvs转发状态
~]# ipvsadm  -Ln
使用客户端curl测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值