rancher ingress安装lvs keepalived高可用解决方案图文教程

 

 

 

                     本安装教程对应的服务ip与角色

机器ip机器角色域名
192.168.101.50vip (虚拟ip)rancher50.cxh.com
192.168.101.10lvs keepalived (master)rancher10.cxh.com
192.168.101.13lvs keepalived (backup)rancher13.cxh.com
192.168.101.30rancher (master node)  、dns服务器rancher30.cxh.com
192.168.101.11rancher (work node)rancher11.cxh.com
192.168.101.12rancher (work node)rancher12.cxh.com

 

 

 

第一步:安装linux依赖环境包

yum -y install openssl-devel gcc gcc-c++

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

 第二步:新建keepalived配置文件目录

mkdir /etc/keepalived

db7aee3dff5e498e8b5902c378e2bb2e.png

 

 第三步:下载wget 命令,并利用weget命令下载keepalived 源码包.

yum install -y wget
wget --no-check-certificate  https://www.keepalived.org/software/keepalived-2.0.18.tar.gz

第四步: 解压缩keepalived源码包,移动源码包到/usr/local/ 目录并重命名目录为keepalived

tar -zxvf keepalived-2.0.18.tar.gz

 

mv keepalived-2.0.18 /usr/local/keepalived

10de9a1843814c88966aced1d543c61b.png

 

cce1e2ec1d474099b802e1d603846167.png

 

第五步: 进入/usr/local/keepalived目录,编译安装keepalived

cd /usr/local/keepalived
./configure && make && make install


第六步: 拷贝keepalived启动文件和配置文件到对应目录

cp  -a /usr/local/etc/keepalived   /etc/init.d/
cp  -a /usr/local/etc/sysconfig/keepalived    /etc/sysconfig/

 

cp  -a /usr/local/sbin/keepalived    /usr/sbin/

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

 第七步:新建keepalived配置文件 并拷贝以下keepalived配置内容进去(根据实际情况填写)

vi  /etc/keepalived/keepalived.conf

keepalived-master(配置文件)(本机器的配置文件内容,里面的值根据实际情况填写)

! Configuration File for keepalived
global_defs {
       router_id 31
} 
vrrp_instance VI_1 {
       state MASTER
       interface ens33
       virtual_router_id 3
       mcast_src_ip 192.168.101.10
       priority 200
       advert_int 1 
       authentication {
               auth_type PASS
               auth_pass 123456
       }
       virtual_ipaddress {
               192.168.101.50/24
       }
}
virtual_server 192.168.101.50 80 {
        delay_loop 3
        lb_algo wrr
        lb_kind DR
        protocol TCP
        sorry_server 127.0.0.1 80

        real_server 192.168.101.11 80 {
                weight 1
                nb_get_retry 2
                delay_before_retry 2
                connect_timeout 30
                HTTP_GET {
                    url {
                    path /healthz
                    status_code 200
                    }
                }
        }
        real_server 192.168.101.12 80 {
                weight 1
                nb_get_retry 2
                delay_before_retry 2
                connect_timeout 30
                HTTP_GET {
                    url {
                    path /healthz
                    status_code 200
                    }
                }
        }
}

 

keepalived-slave配置文件内容( keepalived slave机器的内容,安装本教程安装keepalived在另外一台机器,步骤一样,就是此配置内容和master的个别配置不一样)

! Configuration File for keepalived
global_defs {
       router_id 32
} 
vrrp_instance VI_1 {
       state BACKUP
       interface ens33
       virtual_router_id 3
       mcast_src_ip 192.168.101.13
       priority 90 
       advert_int 1 
       authentication {
               auth_type PASS
               auth_pass 123456
       }
       virtual_ipaddress {
               192.168.101.50/24
       }
}
virtual_server 192.168.101.50 80 {
        delay_loop 3
        lb_algo wrr
        lb_kind DR
        protocol TCP
        sorry_server 127.0.0.1 80

        real_server 192.168.101.11 80 {
                weight 1
                nb_get_retry 2
                delay_before_retry 2
                connect_timeout 30
                HTTP_GET {
                    url {
                    path /healthz
                    status_code 200
                    }
                }
        }
        real_server 192.168.101.12 80 {
                weight 1
                nb_get_retry 2
                delay_before_retry 2
                connect_timeout 30
                HTTP_GET {
                    url {
                    path /healthz
                    status_code 200
                    }
                }
        }
}

 

 

 9a632be6c82c4729a0689a52735b7b46.png

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16a473382d2d88444ab521b417e56a475b.png 

第八步:启动keepalived 并开启开机自启. 

systemctl start keepalived
systemctl enable keepalived

6c8de5abeead4ce8a9afd949aeed4584.png

 

 第九步: 查看keeaplived启动成功状态

systemctl status  keepalived

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

 
第十步:安装ipvsadm 工具,并查看 lvs转发配置的规则

yum install -y ipvsadm
ipvsadm -Ln

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

acf383caaf5d4a678ffeba8a755d3629.png

第十一步:查看keepalived绑定的虚拟ip

ip a

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

第十二步:验证结果

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

说明:

1. keepalived配置文件内容根据自己的实际情况替换 

2. rancher和rancher里面的集群自己提前安装好

3. dns解析器自己提前安装好,这个我之前已经通过docker镜像的方式安装好了,并把负载均衡的域名配置好

参考链接:

 https://github.com/jpillora/docker-dnsmasq

用dnsmasq搭建简单DNS_leo_zdz的专栏-CSDN博客

 

4. 测试的客户端机器的dns服务ip地址配置为自己安装的dns解析器,如果自己不安装dns服务器,则在本地hosts文件配置域名映射即可

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5oiQ5Lyf5bmzY3dw,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

5. 选择在另外一台linux机器安装一个备份lvs keepalived,步骤本教程,主要是keepalived配置文件的内容选择第7步的keepalived-slave配置文件内容(里面的值根据实际情况填写)

 

6:(这一点特别重要!!!):如果发现telent 不通vip的端口,则需要在所有的real server机器添加以下shell脚本,并执行

脚本内容如下:(文件随意命名, 比如我命名为 realserver.sh)则执行命令  sh  realserver.sh  start , vip:填写实际的虚拟ip

#!/bin/bash
#description:start realserver
vip=192.168.101.50
source /etc/rc.d/init.d/functions
case $1 in
start)
        echo "Start Realserver"
        /sbin/ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
        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
;;
stop)
        echo "Stop Realserver"
        /sbin/ifconfig lo:0 down
        echo "0" > /proc/sys/net/ipv4/conf/lo/arp_ignore
        echo "0" > /proc/sys/net/ipv4/conf/lo/arp_announce
        echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore
        echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
        echo "Usage: $0 (start | stop)"
exit 1
esac


 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成伟平2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值