Haproxy TCP代理(K8S)
【代码】Haproxy TCP代理(K8S)
·
apiVersion: apps/v1
kind: Deployment
metadata:
name: haproxy-controller
spec:
replicas: 1
selector:
matchLabels:
app: haproxy
template:
metadata:
labels:
app: haproxy
spec:
containers:
- name: haproxy
image: haproxy:latest
ports:
- containerPort: 36379
protocol: TCP
- containerPort: 8080
protocol: TCP
args:
- "-f"
- "/usr/local/etc/haproxy/haproxy.cfg"
volumeMounts:
- name: haproxy-config
mountPath: /usr/local/etc/haproxy
volumes:
- name: haproxy-config
configMap:
name: haproxy-config
---
apiVersion: v1
kind: Service
metadata:
name: haproxy-service
spec:
selector:
app: haproxy
ports:
- name: tcp
port: 6379
targetPort: 6379
- name: http
port: 8080
targetPort: 8080
type: NodePort
---
apiVersion: v1
kind: ConfigMap
metadata:
name: haproxy-config
data:
haproxy.cfg: |
global
daemon
maxconn 10240
defaults
log stdout format raw local0
retries 3 # 连接后端服务器失败重试次数,超过3次后会将失败的后端服务器标记为不可用。
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
timeout check 10s # 对后端服务器的检测超时时间 10秒
listen stats # 定义监控页面
mode http
bind *:8080 # 绑定容器内的8080端口
stats refresh 5s # 每1秒更新监控数据
stats uri /stats # 访问监控页面的uri
frontend redis-in
mode tcp
bind *:6379
#option tcp-check
#balance roundrobin
default_backend tcp_out
backend tcp_out
mode tcp
option tcp-check
balance roundrobin
server server0 sport-redis-cluster-0.sport-redis-cluster-headless.sport-dev.svc.cluster.local:6379 check inter 10s rise 3 fall 3 weight 1 # 替换为实际的后端服务IP和端口号
server server1 sport-redis-cluster-1.sport-redis-cluster-headless.sport-dev.svc.cluster.local:6379 check inter 10s rise 3 fall 3 weight 1
server server2 sport-redis-cluster-2.sport-redis-cluster-headless.sport-dev.svc.cluster.local:6379 check inter 10s rise 3 fall 3 weight 1
更多推荐
已为社区贡献82条内容
所有评论(0)