前面我们创建了 Pool,VIP 并添加了 Member。今天将创建 Monitor,然后测试 LBaaS 是否能够正常工作。

创建 Monitor

LBaaS 可以创建 monitor,用于监控 Pool Member 健康状态。 如果某个 member 不能正常工作,monitor 会将其状态设置为 down,从而避免将后续请求转发给它。

下面我们为 Pool 添加一个 monitor。 在 Monitors 标签页中点击 “Add Monitor” 按钮

Type 选择 “HTTP”,含义是通过 HTTP 检查 member 的健康状态。
Delay 设置为 “10”,含义是 10 秒检查一次 member 的状态。
Timeout 设置为 “5”,含义是如果 member 在 5 秒内无法应答,则超时。
Max Reties 设置为 “3”,含义是如果尝试 3 次都超时或者失败,则将 member 状态设置为 down。

HTTP Method 设置为 “GET”
URL 设置为 “/”
Expected HTTP Status Codes 设置为 “200”

上面三项的含义是通过 HTTP GET 请求 member “/” URL,如果返回码为 200,则认为 member 状态正常。

点击 “Add”,monitor 创建成功。

下面将新建的 monitor 添加到 pool 。
在 “web servers” 的操作列表中点击 “Associate Monitor”

选择我们刚刚创建的 monitor。

点击 “Associate”。

测试 LBaaS

经过上面的设置,我们创建了包含 member “Web1” 和 “Web2” 的 Pool “web servers”,并添加了 monitor。 准备就绪,可以测试 load balancer 是否正常工作了。

首先在 Web1 和 Web2 中启动 HTTP 服务,在 80 端口监听

这里我们使用 python 提供的 SimpleHTTPServer 模块启动了 HTTP 服务。
web server 的 index.html 显示当前访问的是哪个 member。

在 router 的 namespace 上多次执行 curl 172.16.100.11(VIP)

测试结果显示每次访问的都是 Web2 这个 member。
为什么没有访问到 Web1 呢?

还记得我们前面讨论的内容吗:
Load Balance Method -- ROUND_ROUBIN
Session Persistence -- SOURCE_IP

在这种配置下,第一个 curl 请求 HAProxy 通过 ROUND_ROUBIN 选择了 Web2。
而后续的请求,HAProxy 则会应用 SOURCE_IP 机制,仍然选择 Web2。

下面我们修改一下配置。 在 “web servers” 的操作列表中点击 “Edit VIP”。

选择 “No session persistence” 并保存。

再进行 curl 测试。

可以看到已经在 “Web1” 和 “Web2” 之间 round robin 了。

下一节我们将分析 LBaaS 的内部实现和工作机制。

转载于:https://blog.51cto.com/cloudman/1881787

创建 Monitor 并测试 - 每天5分钟玩转 OpenStack(124)相关推荐

  1. 创建 OVS vlan100 netwrok - 每天5分钟玩转 OpenStack(137)

    2019独角兽企业重金招聘Python工程师标准>>> 上一节完成了 OVS vlan network 的配置准备工作,今天我们创建 vlan100. 打开菜单 Admin -> ...

  2. 创建外网 ext_net - 每天5分钟玩转 OpenStack(104)

    虽然外部网络是已经存在的网络,但我们还是需要在 Neutron 中定义外部网络的对象,这样 router 才知道如何将租户网络和外部网络连接起来. 上一节我们已经为创建外部网络配置了ML2,本节将通过 ...

  3. 部署 DevStack - 每天5分钟玩转 OpenStack(17)

    http://www.cnblogs.com/CloudMan6/p/5357273.html 部署 DevStack - 每天5分钟玩转 OpenStack(17) 本节按照以下步骤部署 DevSt ...

  4. LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)

    http://www.cnblogs.com/CloudMan6/p/5277927.html LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8) LVM 类型的 ...

  5. Cinder 组件详解 - 每天5分钟玩转 OpenStack(47)

    Cinder 组件详解 - 每天5分钟玩转 OpenStack(47) 本节我们将详细讲解 Cinder 的各个子服务. cinder-api cinder-api 是整个 Cinder 组件的门户, ...

  6. 每天5分钟玩转openstack跟学(一)预备知识

    前言:对于openstack我是一名小白,打算跟着CloudMan的<每天5分钟玩转openstack>进行学习,有兴趣的小伙伴可以跟着我一起,相互探讨,互相进步,该系列博文基本不涉及原理 ...

  7. 如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)

    http://www.cnblogs.com/CloudMan6/p/5402490.html 如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22) 本节首先讨论 p_ ...

  8. Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34)

    Pause/Resume Instance 操作详解 - 每天5分钟玩转 OpenStack(34) 本节通过日志详细分析 Nova Pause/Resume 操作. 有时需要短时间暂停 instan ...

  9. 写在最前面 - 每天5分钟玩转 OpenStack(1)

    写在最前面 <每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节 ...

最新文章

  1. Linux性能监测工具Nmon介绍及其使用
  2. hiberante 二级缓存设置
  3. txt文本如何改html类型,编辑html格式文本可改成txt格式(可以替换或更换某文本)新手...
  4. JavaScript基础---字符串方法
  5. 【阿里开发规范】Java开发手册(嵩山版)
  6. [翻译] (黑苹果)笔记本电脑原生电源管理指南 [Guide] Native Power Management for Laptops
  7. 万变不离CHP 天霆“交付”多元化应用
  8. Python代码格式化工具autopep8安装及使用极简版
  9. SQLSERVER2008 18456错误
  10. DPDK内存管理 ----- (四) rte_mbuf
  11. Python3 Django的补充
  12. Web主机管理器(WHM)中如何安装SSL证书
  13. 探访广东第二鬼城,一座长在石油上的城市
  14. c语言烧录芯片,入门扫盲!芯片程序的烧录过程,没想象那么难跟着走就行!...
  15. Confluent介绍(一)
  16. 国内CRM竞品分析【纷享销客 VS 销售易 VS 用友】
  17. 【快速上手教程1】疯壳·开源编队无人机-开机测试
  18. 数据湖有新解!Apache Hudi 与 Apache Flink 集成
  19. L1-057 PTA使我精神焕发 (5分)
  20. mysql统计个数_mysql查询统计数量

热门文章

  1. linux下apache服务器的配置和管理(启动、重启、中断服务)
  2. perl脚本发送邮件
  3. VS.net 2005 试用(1)
  4. 使用VMwork Station Pro 14 安装CentOS7.6详细教程
  5. docker swarm英文文档学习-8-在集群中部署服务
  6. 驱动阿里云的高性能网络引擎- 飞天洛神
  7. Python-函数的各种器
  8. edit filter rules in sql source control
  9. 在Visual C++下搭建OpenGL的开发环境
  10. 1.3 选择适合的Arduino