Foreman-porxy负载均衡搭建
本文接上篇puppet负载均衡的环境实验。
Foreman-proxy可以采用四层或者七层负载,都可以实现,在foreman的web界面添加一个smart-proxy,后端多个真实foreman-proxy处理的目的
个人采用的是haproxy实现的四层和七层代理,pm01和pm03是foreman-proxy服务器,ag01是foreman服务器,lvs是负载均衡服务器(vip在lvs01服务器上),上面代理了puppet,foreman-proxy业务。
5.1 Foreman-proxy七层负载均衡
因为七层在做https的代理时候,出现ssl证书验证问题,于是根据官方配置文件的提示,采用http代理,而不是https代理,同时将所有的ssl证书替换为lvs代理的ssl证书。
5.1.1 修改foreman-proxy配置文件
[root@pm01 puppet]# grep -v "#" /etc/foreman-proxy/settings.yml | grep -v "^$"
---
:settings_directory: /etc/foreman-proxy/settings.d
:ssl_ca_file: /var/lib/puppet/ssl/certs/ca.pem
:ssl_certificate: /var/lib/puppet/ssl/certs/lvs.jq.com.pem
:ssl_private_key: /var/lib/puppet/ssl/private_keys/lvs.jq.com.pem
:trusted_hosts:
- pm01.jq.com
- pm02.jq.com
- pm03.jq.com
- ag01.jq.com
- ag02.jq.com
- ag03.jq.com
- ca01.jq.com
- ca02.jq.com
- lvs01.jq.com
- lvs02.jq.com
- pc.jq.com
- lvs.jq.com
:daemon: true
:bind_host: 0.0.0.0
:http_port: 8000 #默认此处为:https_port:8443
:virsh_network: default
:log_file: /var/log/foreman-proxy/proxy.log
:log_level: DEBUG
5.1.2 修改foreman-proxy的foreman配置文件
[root@pm01 puppet]# cat /etc/puppet/foreman.yaml
---
:url: "https://ag01.jq.com"
:ssl_ca: "/var/lib/puppet/ssl/certs/ca.pem"
:ssl_cert: "/var/lib/puppet/ssl/certs/lvs.jq.com.pem"
:ssl_key: "/var/lib/puppet/ssl/private_keys/lvs.jq.com.pem"
:user: ""
:password: ""
:puppetdir: "/var/lib/puppet"
:puppetuser: "puppet"
:facts: true
:timeout: 10
:threads: null
5.1.3 Haproxy代理配置
[root@lvs01 haproxy]# grep -v "#" /etc/haproxy/haproxy.cfg | grep -v "^$"
global
maxconn 40000
ulimit-n 500000
log 127.0.0.1 local0 info
uid 99
gid 99
chroot /tmp
daemon
defaults
log global
retries 2
option redispatch
option dontlognull
option httpclose
balance roundrobin
timeout connect 30000ms
timeout client 30000ms
timeout server 30000ms
timeout check 2000
listen admin_stats
bind 0.0.0.0:8080
mode http
stats refresh 5s
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /haproxy
stats auth admin:password
listen puppetmaster *:8140
mode tcp
option ssl-hello-chk
balance source
server pm01 pm01.jq.com:8140 check inter 2000 fall 3
server pm03 pm03.jq.com:8140 check inter 2000 fall 3
frontend foremanproxy
bind 0.0.0.0:8000
mode http
log global
option httplog
reqadd X-Forwarded-Proto:\ https
default_backend web_server
backend web_server
mode http
log global
option httplog
balance source
cookie SERVERID insert indirect nocache
server pm01 pm01.jq.com:8000 check inter 2000 fall 3
server pm03 pm03.jq.com:8000 check inter 2000 fall 3
同时,foreman-proxy运行在8000端口,也是安全的,

上图可以看出,信息到了8000端口,最后还是https在处理。
5.2 Foreman-proxy四层负载均衡
四层采用的是https的代理,haproxy配置如下:
listen foreman-proxy *:8443
mode tcp
option ssl-hello-chk
option tcplog
# #balance source
balance roundrobin
# #balance source
server pm01 pm01.jq.com:8443 check inter 2000 fall 3
server pm03 pm03.jq.com:8443 check inter 2000 fall 3
5.3 foreman web添加smart_proxy
foreman web界面添加smart_proxy,只需要添加lvs服务器上的foreman-proxy即可,如下:
四层负载:
http://lvs.jq.com:8000
七层负载:
https://lvs.jq.com:8443
5.4 负载测试
采用分别停止pm01和pm03服务器上foreman-proxy进程的方式测试,每次测试之前删除foreman页面上的主机和smart_proxy,然后再在web添加foreman-proxy地址,在pm01,pm03,ag01上执行puppet agent -t,可以发现,主机成功添加到主机页面。


Foreman-porxy负载均衡搭建的更多相关文章
- 使用Nginx负载均衡搭建高性能.NETweb应用程序二
在文章<使用Nginx负载均衡搭建高性能.NETweb应用程序一>中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用. 一 ...
- 使用Nginx负载均衡搭建高性能.NETweb应用程序(转)
一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的时候,就会创建一个线程,当线程达到几千个时 ...
- Nginx 负载均衡搭建
配置文件Nginx/conf/nginx.conf 什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设 ...
- SQL SERVER 2016 AlwaysOn 无域集群+负载均衡搭建与简测
之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了.windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向 ...
- haproxy简单负载均衡搭建
最近对负载均衡进行搭建具体方法如下: haproxy 修改部分(haproxy-cfg.cfg) global daemon maxconn 4500 defaults mode http timeo ...
- Nginx负载均衡搭建(Window与Linux)
windows上搭建nginx负载均衡 1.准备几台http服务器软件,这里选用一台apache一台tomcat apache(windows)下载链接:https://www.apachehaus. ...
- nginx+tomcat实现Windows系统下的负载均衡搭建的案例
刚入行没多久就听过‘负载均衡’的大名,到现在因为工作接触的少,所以没什么太多的认识.但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了条 ...
- nginx+tomcat负载均衡搭建
一. 单独部署tomcat和nginx Nginx版本:nginx-1.13.5 Tomcat版本:apache-tomcat-8.5.8 操作系统:win10 必须先部署一个tomcat服 ...
- 负载均衡的3种模型(httpd+lvs几十万并发的负载均衡搭建)
一.几种常见的负载均衡模型 二.搭建httpd+lvs LVS .node01 启动一块eth0:2的网卡子接口(ifconfig eth0: down可以把网卡down掉) ifconfig eth ...
随机推荐
- cocos2dx使用cocostudio导出的animation
local uilocal function createLayerUI() if not ui then ui=cc.Layer:create(); createLayerUI=nil; end r ...
- 三款查看class文件结构的工具
classpy JavaClassViewer jclasslib
- Virtualbox报错------> '/etc/init.d/vboxdrv setup'
Ubuntu下VirtualBox本来可以很好地用的,今天早上一来就报错了,--提示如下内容: ---------------------------------------------------- ...
- CSS3中transform,transition和animation的简单介绍和使用方法演示样例
transform是一个属性,本质跟width,height是一样的,加上transform也就是为类添加一个变换属性. transition是一个属性.它是用来控制过渡效果的,由于用transfor ...
- 13.Django模版
没什么好说的,看官方文档 https://docs.djangoproject.com/en/1.9/ref/templates/builtins/
- CryptoJS加密
<script type="text/javascript" src="CryptoJS/core.min.js"></script>& ...
- C# unicode GBK UTF-8和汉字互转
界面: 源码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...
- http keep-alive简解
http协议中,客户端发送请求,服务端在接收到请求后,返回所需要的数据后可以关闭连接,这样客户端读取完数据时会返回EOF(-1),表明数据已接受完全 备注:EOF end of file 什么是kee ...
- web框架详解之tornado 一 模板语言以及框架本质
一.概要 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...
- php把字符串指定字符分割成数组
<?php $str="1|2|3|4|5|"; $var=explode("|",$str); print_r($var); ?> $var=ex ...