3.1 KiB
3.1 KiB
环境简介
| hostname | ip | mark |
|---|---|---|
| lvs-1 | 192.168.30.13 | 主lvs |
| lvs-2 | 192.168.30.14 | 备lvs |
| k8s-master-1 | 192.168.30.6 | rs-1 |
| k8s-master-2 | 192.168.30.7 | rs-2 |
| k8s-master-3 | 192.168.30.12 | rs-3 |
搭建主备LVS
apt install keepalived net-tools -y #安装keepalived 和 net-tools
配置keepalived 配置文件
global_defs {
no_email_faults
}
# VRRP 实例配置
vrrp_instance VI_1 {
state MASTER #如果使用主/备,另外一台机器需要设置为BACKUP
interface ens32 #检测网络端口
virtual_router_id 100 #主备的虚拟机路由ID必须一致
priority 100 #主备的优先级,主优先级要大于备
advert_int 1 #VRRP Multicast广播周期秒数
authentication {
auth_type PASS # VRRP认证方式
auth_pass zhanxiaoyao # VRRP口令字
}
virtual_ipaddress {
192.168.30.200 # 如果有多个VIP,继续换行填写
}
}
# 虚拟服务器配置
virtual_server 192.168.30.200 6443 {
delay_loop 1 # 每隔1秒查询realserver状态
lb_algo wrr # lvs 算法
lb_kind DR # Direct Route
protocol TCP # 用TCP协议检查realserver状态
persistence_timeout 300 # 会话保持时间,这段时间内,同一ip发起的请求将被转发到同一个realserver
# 第一台realserver物理环境
real_server 192.168.30.6 6443 {
weight 1
TCP_CHECK {
connect_port 6443 #设置监控检查的端口
connect_timeout 3 #设置连接超时时间
nb_get_retry 3 #设置重连次数
delay_before_retry 2 #设置重连间隔
}
}
# 第二台realserver物理环境
real_server 192.168.30.7 6443 {
weight 1
TCP_CHECK {
connect_port 6443 #设置监控检查的端口
connect_timeout 3 #设置连接超时时间
nb_get_retry 3 #设置重连次数
delay_before_retry 2 #设置重连间隔
}
}
# 第三台realserver物理环境
real_server 192.168.30.12 6443 {
weight 1
TCP_CHECK {
connect_port 6443 #设置监控检查的端口
connect_timeout 3 #设置连接超时时间
nb_get_retry 3 #设置重连次数
delay_before_retry 2 #设置重连间隔
}
}
}
systemctl enable keepalived
systemctl start keepalived
ipvsadm
ip a
搭建rs
vim /etc/keepalived-rs.sh
#!/bin/bash
VIP=192.168.30.200
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
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
chmod 777 /etc/keepalived-rs.sh
vim /lib/systemd/system/keepalived-lvs-rs.service
[Unit]
Description=My Script
After=network.target
[Service]
ExecStart=/etc/keepalived-rs.sh
[Install]
WantedBy=default.target
reboot