云原生 --- lvs

一、lvs的实验环境

1.环境说明

|-----|-------------------------------------------|-----|---------------|
| 主机 | 网络模式 | 功能 | 是否设定网关 |
| lvs | nat-172.25.254.100,hostonly-192.168.0.100 | vs | |
| rs1 | hostonly-192.168.0.10 | rs1 | 192.168.0.100 |
| rs2 | hostonly-192.168.0.20 | rs2 | 192.168.0.100 |

2.环境设定操作

(1)基本环境

bash 复制代码
#lvs
vmset.sh eth0 172.25.254.100 lvs
vmset.sh eth1 192.168.0.100  lvs

#rs1
vmset.sh eth0 192.168.0.10 rs1 noroute

#rs2
vmset.sh eth0 192.168.0.10 rs2 noroute

(2)设定RS1和RS2的网关

bash 复制代码
#RS1
nmcli connection modify eth0 ipv4.gateway 192.168.0.100
nmcli connection reload
nmcli connection up eth0

#RS2
nmcli connection modify eth0 ipv4.gateway 192.168.0.100
nmcli connection reload
nmcli connection up eth0

#测试
route -n

#结果
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.100   0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

要求IP之间可以直接ping通

二、LVS命令使用详解

1.lvs安装部署

(1)lvs的安装

bash 复制代码
dnf install ipvsadm.x86_64 -y

(2)lvs软件相关信息

  • 程序包:ipvsadm

  • Unit File: ipvsadm.service

  • 主程序:/usr/sbin/ipvsadm

  • 规则保存工具:/usr/sbin/ipvsadm-save

  • 规则重载工具:/usr/sbin/ipvsadm-restore

  • 配置文件:/etc/sysconfig/ipvsadm-config

  • ipvs调度规则文件:/etc/sysconfig/ipvsadm

2.ipvsadm命令使用详解

(1)核心功能

  • 集群服务管理:增、删、改

  • 集群服务的RS管理:增、删、改

  • 查看

(2)管理集群服务中的增删改

  • 开启监控
bash 复制代码
watch -n 1 ipvsadm -Ln
  • 命令操作
bash 复制代码
#设定服务器vip,端口及调度算法
ipvsadm -A -t 172.25.254.100:80 -s rr

#指定使用防火墙标记来进行轮询
ipvsadm -A -f 66 -p 3000

#更改权重
ipvsadm -E -t 172.25.254.100:80 -s wrr

#删除
ipvsadm -D -f 66

(3)管理集群中RealServer的增删改

bash 复制代码
#增加
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.10 -m
ipvsadm -a -t 172.25.254.100:80 -r 192.168.0.20 -m

#修改
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.10 -w 2 -m
ipvsadm -e -t 172.25.254.100:80 -r 192.168.0.20 -w 5 -i

#删除
ipvsadm -d -t 172.25.254.100:80 -r 192.168.0.20
ipvsadm -C  --- 清空

3.lvs策略保存

(1)用自定义文件保存策略

bash 复制代码
#保存会直接打印
ipvsadm-save
-A -t lvs-server:http -s rr
-a -t lvs-server:http -r 192.168.0.10:http -m -w 1
-a -t lvs-server:http -r 192.168.0.20:http -m -w 1

#通过重定向
ipvsadm-save > /mnt/haha

#清空
ipvsadm -C
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

#恢复
ipvsadm-restore < /mnt/haha

ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.100:80 rr
  -> 192.168.0.10:80              Masq    1      0          0
  -> 192.168.0.20:80              Masq    1      0          0

(2)ipvs策略开机生效方式

bash 复制代码
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl enable --now ipvsadm.service

reboot

#重启后仍然有效
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.0.100:80 rr
  -> 192.168.0.10:80              Masq    1      0          0
  -> 192.168.0.20:80              Masq    1      0          0
相关推荐
女神下凡37 分钟前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
海宇AI7 小时前
零信任架构实战:基于海宇个人风险报告构建自动化分期商城信用额度初审网关
运维·人工智能·架构·自动化
IMPYLH8 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
2601_963282778 小时前
寒地窄带通信工程实践:黑龙江哈尔滨对讲机选型、组网与合规运维总结
运维·服务器·网络
叼烟扛炮9 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb10 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
我要见SA姐110 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
Android系统攻城狮11 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
Y38153266212 小时前
用 httpx 写 SerpBase 异步客户端:连接池与超时配置
运维·服务器·数据库
倔强的石头10612 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器