LVS(二):NAT模式实验

实验利用用两台docker容器完成web请求响应,使用nginx来验证LVS功能

实验的LVS集群按功能模块分为:Load Balancer + RealServer两个模块

其中:

Load Balancer由宿主机实现,位于集群系统的前端,通过ipvsadm实现对后端服务器实现负载均衡功能,对外 IP 地址也成为 VIP(虚拟 IP 地址)

Real Server分别由两台安装了nginx的容器代替,完成web请求响应,服务器分别命名为RS1RS2

实验步骤

一、安装 ipvsadm 工具

实验环境在ubuntu下进行,使用apt-get完成ipvsadm的安装

sudo apt-get install ipvsadm -y
# 使用 ipvsadm
sudo ipvsadm -L

二、创建Real Server池

1、使用docker创建两台容器
docker run --name=RS1 -tdi ubuntu
docker run --name=RS2 -tdi ubuntu
2、登录两台容器,记录各自的IP
docker exec RS1 -it /bin/bash
...
ifconfig
RS1:IP 地址为 192.168.0.2
RS2:IP 地址为 192.168.0.3
3、安装工具
apt-get install vim nginx -y
4、为区别两台容器所响应,分别修改各自的响应页面
vi /usr/share/nginx/html/index.html

PS: 改好后记得重启nginx服务

在宿主机上使用浏览器验证两台容器的web服务是否正常工作:

三、修改调度规则

1、Load Balancer为宿主机,修改宿主机上的内核路由转发:
echo 1 > /proc/sys/net/ipv4/ip_forward
2、使用 ipvsadm 添加 ipvs 规则,并定义集群服务
sudo ipvsadm -A -t LB本机IP:80 -s rr         #定义集群服务
sudo ipvsadm -a -t LB本机IP:80 -r 192.168.0.2 -m #添加 RealServer1
sudo ipvsadm -a -t LB本机IP:80 -r 192.168.0.3 -m #添加 RealServer2
sudo ipvsadm -l                 #查看 ipvs 定义的规则

添加集群服务参数详解:

  • -A:添加一个新的集群服务

  • -t: 使用 TCP 协议

  • -s: 指定负载均衡调度算法

  • rr:轮询算法(LVS 实现了 8 中调度算法) LB本机IP:80 定义集群服务的 IP 地址(VIP) 和应用端口

  • -a:添加一个新的 RealServer 规则

  • -t:tcp 协议

  • -r:指定 RealServer IP 地址

  • -m:定义为 NAT 上面命令添加了两个服务器 RS1 和 RS2

四、配置完成,测试验证

使用浏览器打开本机IP,按住F5作死地刷新,看到页面不一致则说明LVS起作用了

(图裂了)

-------------The End-------------

发布了24 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/saeba5566/article/details/104845894