本文接上篇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负载均衡搭建的更多相关文章

  1. 使用Nginx负载均衡搭建高性能.NETweb应用程序二

    在文章<使用Nginx负载均衡搭建高性能.NETweb应用程序一>中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用. 一 ...

  2. 使用Nginx负载均衡搭建高性能.NETweb应用程序(转)

    一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的时候,就会创建一个线程,当线程达到几千个时 ...

  3. Nginx 负载均衡搭建

    配置文件Nginx/conf/nginx.conf 什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设 ...

  4. SQL SERVER 2016 AlwaysOn 无域集群+负载均衡搭建与简测

    之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了.windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向 ...

  5. haproxy简单负载均衡搭建

    最近对负载均衡进行搭建具体方法如下: haproxy 修改部分(haproxy-cfg.cfg) global daemon maxconn 4500 defaults mode http timeo ...

  6. Nginx负载均衡搭建(Window与Linux)

    windows上搭建nginx负载均衡 1.准备几台http服务器软件,这里选用一台apache一台tomcat apache(windows)下载链接:https://www.apachehaus. ...

  7. nginx+tomcat实现Windows系统下的负载均衡搭建的案例

    刚入行没多久就听过‘负载均衡’的大名,到现在因为工作接触的少,所以没什么太多的认识.但自己又对其非常的好奇,所以前两天通过查资料,在自己的笔记本上就搭建了一个超简单的案例(工作中没有时间,晚上到家了条 ...

  8. nginx+tomcat负载均衡搭建

    一.      单独部署tomcat和nginx Nginx版本:nginx-1.13.5 Tomcat版本:apache-tomcat-8.5.8 操作系统:win10 必须先部署一个tomcat服 ...

  9. 负载均衡的3种模型(httpd+lvs几十万并发的负载均衡搭建)

    一.几种常见的负载均衡模型 二.搭建httpd+lvs LVS .node01 启动一块eth0:2的网卡子接口(ifconfig eth0: down可以把网卡down掉) ifconfig eth ...

随机推荐

  1. UITableView 右侧索引

    1.设置右侧索引字体颜色 self.tabView.sectionIndexColor = [UIColor blackColor]; 2.设置右侧索引背景色 self.cityTabView.sec ...

  2. flex (html弹性布局)

    flex是什么? 任何容器都可以指定为flex布局: .box{ display: flex;  /* 行内元素可以使用:inline-flex,webket内核浏览器必须 -webkit-flex ...

  3. 我的Android进阶之旅------>Android系统设置默认来电铃声、闹钟铃声、通知铃声

    首先了解Android系统本身提供的默认铃声文件,这些文件都放在  /system/media/audio  目录下. /system/media/audio/ringtones   系统来电铃声 / ...

  4. Navicat Premium试用期破解方法(转)

    转载网址https://blog.csdn.net/Jason_Julie/article/details/82864187 1.按步骤安装Navicat Premium,如果没有可以去官网下载:ht ...

  5. DOM指针

    dom节点改变 会自动改变节点的指针 child = formula.firstChild while(child){ next = child.nextSibling; formula.remove ...

  6. HDU - 5550 Game Rooms 【DP+前缀和】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5550 题意 一撞大楼有N层楼,然后每层楼都有一部分人喜欢打羽毛球,一部分人喜欢打乒乓球 但是每层楼只能 ...

  7. hadoop 根据secondary namenode恢复namenode

    refer to http://www.cnblogs.com/Richardzhu/p/3435989.html http://blog.csdn.net/wuzhilon88/article/de ...

  8. .net序列化与反序列化——提供多次存储对象集后读取不完全解决方案

    ||问题: 文本文档读取序列化文件时只能读取第一次序列化对象或对象集,而多次序列化存到同一个文本文件中不能完全读取.最近做一个简单的学生管理系统,涉及到多次将学生对象序列化后追加存储到同一个文档中.在 ...

  9. python 3 并发编程多进程 paramiko 模块

    python 3 paramiko模块 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的pa ...

  10. hd acm1048

    Problem Description Julius Caesar lived in a time of danger and intrigue. The hardest situation Caes ...