本文作者:丁辉
Helm部署Haproxy
介绍
HAProxy是一个功能强大的开源软件,专门用于提供高可用性、负载均衡以及基于TCP和HTTP应用的代理服务。
开始部署
节点名称 | IP |
---|---|
web1 | 192.168.1.10 |
web2 | 192.168.1.20 |
添加 Helm 仓库
1
2helm repo add haproxytech https://haproxytech.github.io/helm-charts
helm repo update创建命名空间
1
kubectl create namespace haproxy
编写 values.yaml
1
vi haproxy-values.yaml
内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32config: |
global
log stdout format raw local0
maxconn 1024
defaults
log global
timeout client 60s
timeout connect 60s
timeout server 60s
frontend fe_main
bind :80
default_backend be_main
backend be_main
server web1 192.168.1.10:80 check
server web2 192.168.1.20:80 check
ingress:
enabled: true
servicePort: 80
className: "" # 指定 ingress 控制器, 不指定则需要集群内存在默认的 ingress 控制器
hosts:
- host: # 域名
paths:
- path: /
pathType: Prefix
tls:
- secretName: haproxy-tls
hosts:
- # 域名参数解释
配置部分 参数 解释 global log 应用全局日志配置,将日志输出到标准输出,并使用原始格式进行日志记录,日志级别为 local0。 maxconn 设置最大连接数为 1024。 defaults log 应用全局日志配置,将日志输出到标准输出,并使用原始格式进行日志记录,日志级别为 local0。 timeout client 设置客户端超时时间为 60 秒,即客户端连接到 HAProxy 但没有发送请求的最大时间。 timeout connect 设置连接超时时间为 60 秒,即连接到后端服务器的最大时间。 timeout server 设置服务器超时时间为 60 秒,即后端服务器响应客户端请求的最大时间。 frontend bind 在端口 80 上绑定,监听所有 IP 地址的流量。 default_backend 将所有来自前端的请求转发到名为 be_main 的后端。 backend server 定义两个后端服务器,分别为 web1 和 web2,它们的 IP 地址分别为 192.168.1.10 和 192.168.1.20,监听端口为 80,并且 HAProxy 会定期检查它们的健康状态。 创建Nginx证书secret
cert为.pem和.crt文件都可以
1
kubectl create secret tls haproxy-tls --key nginx.key --cert nginx.pem -n haproxy
部署
1
helm install haproxy haproxytech/haproxy -f haproxy-values.yaml -n haproxy
查看访问地址
1
kubectl get svc -n haproxy
卸载
卸载 haproxy
1
helm uninstall haproxy -n haproxy
删除命名空间
1
kubectl delete namespace haproxy
I'm so cute. Please give me money.
- 本文链接: https://blog.offends.cn/Kubernetes/Helm/Helm部署Haproxy.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。