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配置文件

[[email protected] 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配置文件

[[email protected] 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代理配置

[[email protected] 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,可以发现,主机成功添加到主机页面。

时间: 2024-10-05 20:25:56

Foreman-porxy负载均衡搭建的相关文章

Nginx对(apache+foreman+puppet)负载均衡

Nginx对(apache+foreman+puppet)负载均衡 一.前提准备 试验环境: OS:Centos 6.5_x86 puppet-server-3.8.3 foreman-1.9.2 foreman-proxy-1.9.2 httpd-2.2.15 服务器已经搭建好了apache+foreman+puppet详情请参考: http://4709096.blog.51cto.com/4699096/1710697 二.修改pupeptmaster相关配置 2.1修改puppetmas

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

在文章<使用Nginx负载均衡搭建高性能.NETweb应用程序一>中,让我们对Nginx有了一个初步认识,下面我们将在windows平台下面使用Nginx演示集群部署我们的web应用. 一.下载Nginx部署包 到Nginx官网去下载一个windows平台下面的Nginx部署包,目前我下载的是一个nginx-1.6.2版本的. 二.命令启动服务 启动:start nginx.exe 停止:nginx -s stop 重新加载: nginx -s reload 三.实例搭建 首 选:我们要在我们

nginx+keepalived+tomcat+memcache负载均衡搭建小集群

最近一段时间一直在研究高可用高并发负载均衡分布式集群等技术,先前发布了lvs基于网络第四次协议搭建的小集群,现在用空刚好搭建了一个基于nginx搭建的小集群. 我准备了四台机器,情况如下 机器名称 机器IP 安装软件 角色 虚拟ip 描述 vmm01 192.168.252.11 Nginx.keepalived Nginx主机 192.168.252.200 反向代理到tomcat1和tomcat2 vmm04 192.168.252.14 Nginx.keepalived Nginx备机 主

lvs+keepalived+nginx负载均衡搭建测试

1. 简介 1.1 LVS简介 LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目.使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能.高可用的服务器群集,它具有良好可靠性.可扩展性和可操作性.从而以低廉的成本实现最优的服务性能. LVS主要用来做四层负载均衡. 1.2 Keepalived简介 Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtu

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

之前和很多群友聊天发现对2016的无域和负载均衡满心期待,毕竟可以简单搭建而且可以不适用第三方负载均衡器,SQL自己可以负载了.windows2016已经可以下载使用了,那么这回终于可以揭开令人憧憬向往的AlwaysOn2016 负载均衡集群的神秘面纱了. 本篇主要描述个人集群搭建中遇到的坑和一些注意事项,以及2016无域负载均衡的简单体验测试. 搭建体验 基础环境 想要不使用域环境来搭建AlwaysON 必须使用windows 2016 和sql server2016 本篇我使用3台虚拟机(主

k8s部署---多节点部署与负载均衡搭建(五)

多节点部署介绍 在生产环境中,搭建kubernetes平台时我们同时会考虑平台的高可用性,kubenetes平台是由master中心管理机制,由master服务器调配管理各个节点服务器,在之前的文章中我们搭建的是单节点(一个master服务器)的部署,当master服务器宕机时,我们的搭建的平台也就无法使用了,这个时候我们就要考虑多节点(多master)的部署,已到平台服务的高可用性. 负载均衡介绍 在我们搭建多节点部署时,多个master同时运行工作,在处理工作问题时总是使用同一个master

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

一.遇到的问题 当我们用IIS服务器部署了一个web应用以后,当很多用户高并发访问的时候,客户端响应就会很慢,客户的体验就会很差,由于IIS接受到客户端请求的 时候,就会创建一个线程,当线程达到几千个时候,这些线程就会占用较大内存,同时由于这些线程要进行切换,所以CPU占用也会比较高,这样IIS性能就很 难提高了.那么如何解决这个问题呢? 二.如何解决高并发问题 为了解决这个高并发的问题,我们就需要进行负载均衡.我们可以在架构上 通过硬件和软件来解决负载均衡,硬件层面可以使用负载均衡器,一般而言

使用LVS负载均衡搭建web群集的原理及安装配置详解

一.负载均衡LVS基本介绍 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器.这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org. LVS是Linux内核标准的一部分.LVS是一个实现负载均衡集群的开源软件项目,通过 LVS 的负载均衡技术和 Linux操作系统可以实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性.可扩展性和可操作性.LVS架构从逻辑上可分为调度层.Se

实验:基于lvs-nat类型的负载均衡搭建WordPress

一.实验环境:1.各软件版本:系统版本:CentOS Linux release 7.4.1708 (Core)php版本:PHP 7.2nginx版本:nginx-1.12.2数据库版本:MariaDB 10WordPress版本:4.9.4关闭防火墙与selinux2.实验架构及IP分配(架构图略,后期有时间补):调度器一台:安装ipvsadmVIP:192.168.11.128(模拟公网IP,域名www.ready.cn) DIP:172.16.142.128realserver两台:两台