Docker HAproxy 配置 & rsyslog 日志处理

Docker中HAproxy负载均衡与rsyslog日志管理实战
本文介绍了在CentOS 7.9环境下,如何使用Docker部署HAproxy进行负载均衡配置,详细讲解了各种负载算法如roundrobin、leastconn等。同时,文章还阐述了rsyslog日志配置和利用logrotate进行日志切割的步骤,以优化系统性能。
环境

CentOS Linux release 7.9.2009 (Core)
HAProxy version 2.3.6-7851701, released 2021/03/03
IP: 192.168.0.1

Docker 安装

Docker 安装

建立haproxy配置文件
# 新建目录
mkdir -p /etc/haproxy

# 备份配置文件
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.`date +%Y%m%d_%H%M%S`

# 写入配置文件
cat << \EOF > /etc/haproxy/haproxy.cfg
global # 全局参数配置
  daemon # 后台运行
  nbthread 16 # 线程数,新版本已抛弃nbproc参数
  log 127.0.0.1 local3 info # 定义日志分别输出到local3、4
  log 127.0.0.1 local4 warning # 日志级别不同

defaults # 默认参数配置
  mode tcp # 代理模式tcp、http
  retries 3 # 检测次数
  maxconn 32768 # 每一个代理的最大连接数
  timeout connect 5s # 成功连接到一台服务器的最长等待时间
  timeout client 5s # 连接客户端发送数据时的成功连接最长等待时间
  timeout server 5s # 服务器端回应客户度数据发送的最长等待时间

listen proxy01 # 代理01,名字自定义
  bind *:5000 # 侦听IP和端口,单一IP或多个,0.0.0.0:5000 | 192.168.0.1:5000
  mode http  # 代理模式,覆盖了上面默认配置
  balance roundrobin # 负载均衡方式,轮询
  option httplog # 日志记录HTTP请求
  option dontlognull # 日志中将不会记录空连接
  option forwardfor # 启用X-Forwarded-For,在requests头部插入客户端IP发送给后端的server,使后端server获取到客户端的真实IP
  http-request set-header Host www.examplesite.com # 设定头,有时候后端服务器需要,不需要可不设置
  
  # HAProxy持久连接方式,最后说明
  option http-server-close
  option http-pretend-keepalive

  # 日志格式
  #log-format %ci:%cp\ %si:%sp\ %B\ %U\ %ST\ %r\ %b\ %f\ %bi\ %hrl\ %hsl\
  log-format {
   
   "haproxy_clientIP":"%ci","haproxy_clientPort":"%cp","haproxy_dateTime":"%t","haproxy_frontendNameTransport":"%ft","haproxy_backend":"%b","haproxy_serverName":"%s","haproxy_Tw":"%Tw","haproxy_Tc":"%Tc","haproxy_Tt":"%Tt","haproxy_bytesR
Haproxy与Keepalived高可用集群搭建步骤如下: ### 安装Haproxy 1. 下载 2. 安装依赖 3. 编译 4. 创建配置文件目录 5. 添加配置文件软连接 6. 拷贝错误页面并添加目录软连接(HTTP模式选配) 7. 拷贝开机启动文件并授权 8. 添加haproxy命令脚本软连接 9. 设置HAProxy开机启动 10. 添加haproxy用户组和用户并创建chroot运行路径 11. 配置haproxy配置文件 [^1] ### 安装rsyslog日志服务 1. 安装 2. 配置 3. 添加配置文件 4. 重启rsyslog服务 [^1] ### 开启端口 ### 开启haproxy并验证 [^1] ### 安装Keepalived(自定义) 1. 下载并解压 2. 安装依赖 3. 编译安装 4. 配置 5. 设置开机启动 6. 其他命令 [^1] ### 验证Keepalived [^1] 另外,在K8S高可用集群搭建中,仅在Master节点安装时可使用如下命令: ```bash yum install keepalived haproxy -y systemctl enable haproxy &amp;&amp; systemctl start haproxy systemctl enable keepalived &amp;&amp; systemctl start keepalived ``` 此方式是仅针对K8S高可用集群搭建场景 [^2]。 在HaProxy + keepalived + mycat集群高可用配置中,keepalived和haproxy需安装在同一台机器上,keepalived负责为该服务器抢占vip(虚拟ip),抢占到vip后,对该主机的访问可以通过原来的ip,也可以直接通过vip [^3]。 不同角色节点搭建步骤示例如下: | 角色 | IP | 安装步骤 | | ---- | ---- | ---- | | master1 | 192.168.44.155 | 1.部署keepalived 2.部署haproxy 3.kubeadm初始化操作 4.安装docker和网络插件 | | master2 | 192.168.44.156 | 1.部署keepalived 2.部署haproxy 3.添加master2到集群 4.安装docker和网络插件 | | node1 | 192.168.44.157 | 1.加入到集群中 2.安装docker和网络插件 | | VIP | 192.168.44.100 | | [^4]
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值