设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] 创建 Monitor 并测试

[复制链接]

尚未签到

发表于 2017-12-5 09:32:14 | 显示全部楼层 |阅读模式
   DSC0000.jpg
  前面我们创建了 Pool,VIP 并添加了 Member。今天将创建 Monitor,然后测试 LBaaS 是否能够正常工作。
创建 Monitor
  LBaaS 可以创建 monitor,用于监控 Pool Member 健康状态。
如果某个 member 不能正常工作,monitor 会将其状态设置为 down,从而避免将后续请求转发给它。
  下面我们为 Pool 添加一个 monitor。
在 Monitors 标签页中点击 “Add Monitor” 按钮
   DSC0001.jpg
  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 状态正常。
   DSC0002.jpg
  点击 “Add”,monitor 创建成功。
   DSC0003.jpg
  下面将新建的 monitor 添加到 pool 。
在 “web servers” 的操作列表中点击 “Associate Monitor”
   DSC0004.jpg
  选择我们刚刚创建的 monitor。
   DSC0005.jpg
  点击 “Associate”。
测试 LBaaS
  经过上面的设置,我们创建了包含 member “Web1” 和 “Web2” 的 Pool “web servers”,并添加了 monitor。
准备就绪,可以测试 load balancer 是否正常工作了。
  首先在 Web1 和 Web2 中启动 HTTP 服务,在 80 端口监听
   DSC0006.jpg
   DSC0007.jpg
  这里我们使用 python 提供的 SimpleHTTPServer 模块启动了 HTTP 服务。
web server 的 index.html 显示当前访问的是哪个 member。
  在 router 的 namespace 上多次执行 curl 172.16.100.11(VIP)
   DSC0008.jpg
  测试结果显示每次访问的都是 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”。
   DSC0009.jpg
  选择 “No session persistence” 并保存。
   DSC00010.jpg
  再进行 curl 测试。
   DSC00011.jpg
  可以看到已经在 “Web1” 和 “Web2” 之间 round robin 了。
  下一节我们将分析 LBaaS 的内部实现和工作机制。
   DSC00012.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-420723-1-1.html 上篇帖子: 4.创建OpenStack的node环境脚本 下篇帖子: openstack常见问题解决方法总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表