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

[经验分享] HAProxy 高级应用(二)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-23 08:53:26 | 显示全部楼层 |阅读模式
概述:
  本章将继续介绍haproxy的一些其他应用,具体内容如下:
  • use_backend <backend> 后端主机调用:
  • haproxy中tcp模式的应用;
  • haproxy中listen的应用


================================================================================
HAProxy配置参数---代理配置段:
12.后端主机调用:
★use_backend <backend> [{if | unless} <condition>]
   ---Switch to a specific backend if/unless an ACL-based condition is matched.(满足acl条件时就调度到指定的后端主机)
示例:
使用use_backend实现动静分离
wKioL1g0Jinx9Zs2AABg-7JkZi0296.jpg




HAProxy的tcp模式应用
实验:
  使用haproxy调度后端主机的SSH服务
实验环境描述:
  • 三台虚拟主机,一台作为haproxy的调度器,另外两台作为后端的原始web服务器;
  • haproxy调度器有两块网卡,一块作为外网网卡,负责接收用户的请求,一块为内网网卡,负责与内网的后端原始web服务器通信;(要打开核心件转发功能)

IP地址规划:
  • 两台后端主机使用内网地址RS1(192.168.111.128);RS2(192.168.111.129),与haproxy的内网网卡基于VMnet1通信;
  • haprosy外网地址ip(10.1.252.153);内网地址ip(192.168.111.130)

实验过程如下:
------------------------------------------------------------------------------------------------------
1.编辑haproxy的配置文件,定义前端frontend和后端backend具体如下:
frontend ssh
      bind *:22022            //为了和本机区分使用22022
      mode  tcp               
      default_backend sshsrvs
  
backend sshsrvs
      balance leastconn      //使用最少连接算法
      server  ssh1 192.168.111.128:22 check  
      server  ssh2 192.168.111.129:22 check

2.重载haproxy服务,然后登录SSH服务,可以发现可以正常连接到后端的两台原始服务器,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[iyunv@centos7 haproxy]# ssh -p 22022 10.1.252.153
The authenticity of host '[10.1.252.153]:22022 ([10.1.252.153]:22022)' can't be established.
ECDSA key fingerprint is cb:36:da:6b:15:d6:60:25:a7:28:f1:bf:b3:22:ce:c0.
Are you sure you want to continue connecting (yes/no)? yes
[iyunv@centos7 ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.111.129  netmask 255.255.255.0  broadcast 192.168.111.255
        inet6 fe80::20c:29ff:feca:6ef1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ca:6e:f1  txqueuelen 1000  (Ethernet)
        RX packets 156021  bytes 13141000 (12.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24359  bytes 1858526 (1.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 32  bytes 2720 (2.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 2720 (2.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[iyunv@centos7 ~]# exit
logout
Connection to 10.1.252.153 closed.

[iyunv@centos7 haproxy]# ssh -p 22022 10.1.252.153   
The authenticity of host '[10.1.252.153]:22022 ([10.1.252.153]:22022)' can't be established.
ECDSA key fingerprint is 56:78:d2:e8:41:b0:62:ad:4f:47:90:75:01:a4:fa:8c.
Are you sure you want to continue connecting (yes/no)? yes
[iyunv@centos7 ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.111.128  netmask 255.255.255.0  broadcast 192.168.111.255
        inet6 fe80::20c:29ff:fed6:e460  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d6:e4:60  txqueuelen 1000  (Ethernet)
        RX packets 157051  bytes 13309701 (12.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25174  bytes 1963784 (1.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 59  bytes 4880 (4.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 59  bytes 4880 (4.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0






HAProxy中listen的应用
1.如上例,我们也可以使用listen将两个单独的forontend和backend整合到一起,如下:
listen ssh  
      bind *:22022
      mode  tcp
      balance leastconn
      server  ssh1 192.168.111.128:22 check
      server  ssh2 192.168.111.129:22 check

2.我们也可以将stats统计信息状态页使用listen整合到一起,如下:

   listen stats
        bind *:9527
        stats enable
        stats uri /admin?stats
        stats realm Stats\ Page\ Area
        stats auth taotao:xiuxiu
        stats refresh 5s
        stats hide-version

3.重载haproxy服务,查看监听的端口9527,如下:

[iyunv@centos7 haproxy]# systemctl reload haproxy.service
[iyunv@centos7 haproxy]# ss -tnl
State       Recv-Q Send-Q                                      Local Address:Port                 
LISTEN      0      128                                             127.0.0.1:6012                 
LISTEN      0      25                                                      *:514                  
LISTEN      0      128                                                     *:22022               
LISTEN      0      128                                                     *:8080                 
LISTEN      0      128                                                     *:80                  
LISTEN      0      128                                                     *:22                  
LISTEN      0      128                                                     *:9527

4.在浏览器中访问stats统计页状态信息如下:

wKioL1g0Nn3x3-GfAAGH3erfjIc176.jpg
wKiom1g0Nn6CmEPXAACV3dAsRsE767.jpg

=========================================================================================

wKiom1g0NyKgLRv-AABlu4jW3i8393.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-304239-1-1.html 上篇帖子: HAProxy 高级应用(一) 下篇帖子: haproxy配置增删改查
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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