内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
本文档风哥主要介绍负载均衡集群的部署方法,更多视频教程www.fgedu.net.cn包括HAProxy、Nginx负载均衡、健康检查等内容。
Part01-基础概念与理论知识
1.1 负载均衡算法
轮询(Round Robin):依次分配
加权轮询(Weighted Round Robin):按权重分配
最少连接(Least Connections):分配给连接最少的
IP哈希(IP Hash):根据IP分配
# 负载均衡工具
HAProxy:专业的负载均衡器
Nginx:Web服务器+负载均衡
LVS:Linux虚拟服务器
Part02-生产环境规划与建议
2.1 负载均衡架构
四层负载均衡:基于IP+端口
七层负载均衡:基于应用层协议
# 高可用架构
主备模式:Keepalived + HAProxy
集群模式:多节点负载均衡
Part03-生产环境项目实施方案
3.1 HAProxy部署
$ sudo dnf install haproxy -y
# 配置HAProxy
$ sudo vi /etc/haproxy/haproxy.cfg
global
log /dev/log local0
maxconn 4096
defaults
log global
mode http
option httplog
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend webfrontend
bind *:80
default_backend webservers
backend webservers
balance roundrobin
opti更多学习教程公众号风哥教程itpux_comon httpchk GET /health
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
server web3 192.168.1.12:80 check
# 启动服务
$ sudo systemctl start haproxy
$ sudo systemctl enable haproxy
# 查看状态
$ sudo systemctl status haproxy
3.2 Nginx负载均衡配置
$ sudo dnf install nginx -y
# 配置负载均衡
$ sudo vi /etc/nginx/conf.d/loadbalance.conf
upstream webservers {
least_conn;
server 192.168.1.10:80 weight=3;
server 192.学习交流加群风哥QQ113257174168.1.11:80 weight=2;
server 192.168.1.12:80 backup;
keepalive 32;
}
server {
listen 80;
location / {
proxy_pass http://webservers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 测试配置
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 重启服务
$ sudo systemctl restart nginx
Part04-生产案例与实战讲解
4.1 案例:Web服务负载均衡集群
# 1. 部署后端Web服务器(3台)
# web1: 192.168.1.10
# web2: 192.168.1.11
# web3: 192.168.1.12
# 2. 部署HAProxy负载均衡器
$ sudo vi /etc/haproxy/haproxy.cfg
frontend webfrontend
bind *:80
acl url_static path_beg /static /images /css
use_backend static if url_static
default_backend dynamic
backend static
balance roundrobin
server web1 192.168.1.10:80 check
server web2 192.168.1.11:80 check
backend dynamic
balance leastconn
server web1 192.168.1.10:8080 check
server web2 192.168.1.11:8080 check
server web3 192.168.1.12:8080 check
# 3. 配置健康检查
# 在后端服务器创建健康检查页面
$ echo “OK” >from PG视频:www.itpux.com /var/www/html/health
# 4. 测试负载均衡
$ for i in {1..10}; do curl http://192.168.1.100; done
风哥提示:
Part05-风哥经验总结与分享
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
