octavia Layer7 Cookbook--HTTP负载均衡测试

注:需要在服务器安装虚拟环境来执行flask测试用例,具体安装方法见Flask安装过程

       每项功能的flask测试用例参看:Flask测试用例

测试1:发送/ JS或 /images请求到static_pool 

匹配方法:ENDS_WITH,STARTS_WITH

匹配字段:PATH

动作: REDIRECT_TO_POOL

value: /JS 和/static_pool 

场景描述:

  • 在监听器(lb-listener-test1)中创建一个默认池(default):所有不符合规则的请求会发送到默认池。

  • 在负载均衡器(lb-test1)中创建一个池(static_pool)作为测试池
  • 在static_pool中添加两台虚拟机,将HTTP URI的路径部分与规则中的value参数进行比较,通过匹配规则将任何带有“/ js”或“/ images”的URL的HTTP请求分发到虚拟机

方案:

  • 创建lb-test1负载均衡器
  • 创建监听器lb-listener-test1,使用801端口
  • 在lb-listener-test1下创建默认池default_pool

  • 在lb-test1下创建池static_pool
  • 将两台虚拟服务器(192.168.10.10/192.168.10.34)添加到static_pool中。

  • 创建L7策略(lb-policy1-test1),REDIRECT_TO_POOL

  • 在lb-policy1-test1下创建一个L7rule,匹配路径部分以“/ js”开头的请求。

  • 创建L7策略lb-policy2-test1,REDIRECT_TO_POOL

  • 在lb-policy2-test1下创建一个L7rule,匹配路径部分以“/ images”结尾的请求。

CLI命令

openstack loadbalancer create --name lb-test1 --vip-subnet-id lb-vip-subnet
openstack loadbalacner listener create --name lb-listener-test1 --protocol HTTP --protocol-port 801 --lb-test1
openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --listener lb-listener-test1 --name default_pool --protocol HTTP
openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --loadbalancer lb-test1 --name static_pool --protocol HTTP
openstack loadbalancer member create --address 192.168.10.10 --protocol-port 80 --subnet-id lb-vip-subnet static_pool
openstack loadbalancer member create --address 192.169.10.34 --protocol-port 80 --subnet-id lb-vip-subnet static_pool
openstack loadbalancer l7policy create --action REDIRECT_TO_POOL --redirect-pool static_pool --name lb-policy1-test1 lb-listener-test1
openstack loadbalancer l7rule create --compare-type STARTS_WITH --type PATH --value /js lb-policy1-test1
openstack loadbalancer l7policy create --action REDIRECT_TO_POOL --redirect-pool static_pool --name lb-policy2-test1 lb-listener-test1
openstack loadbalancer l7rule create --compare-type ENDS_WITH --type PATH --value /images lb-policy2-test1

测试结果:

分别在192.168.10.34和192.168.10.10服务器虚拟环境中执行编写的images.py和js.py flask测试用例。

octavia Layer7 Cookbook--HTTP负载均衡测试_第1张图片

octavia Layer7 Cookbook--HTTP负载均衡测试_第2张图片

使用curl命令去连接VIP的801端口,测试/images及/js的请求,返回“Hello,I am a js/images”消息证明访问成功。

在对应服务器中查看终端日志,返回状态码200,证明测试成功。

octavia Layer7 Cookbook--HTTP负载均衡测试_第3张图片

octavia Layer7 Cookbook--HTTP负载均衡测试_第4张图片

 

你可能感兴趣的:(Octavia测试)