banner
NEWS LETTER

Helm部署Haproxy

Scroll down

本文作者:丁辉

Helm部署Haproxy

介绍

HAProxy是一个功能强大的开源软件,专门用于提供高可用性、负载均衡以及基于TCP和HTTP应用的代理服务

开始部署

节点名称 IP
web1 192.168.1.10
web2 192.168.1.20

Github仓库

  1. 添加 Helm 仓库

    1
    2
    helm repo add haproxytech https://haproxytech.github.io/helm-charts
    helm repo update
  2. 创建命名空间

    1
    kubectl create namespace haproxy
  3. 编写 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
    32
    config: |
    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 会定期检查它们的健康状态。
  4. 创建Nginx证书secret

    cert为.pem和.crt文件都可以

    1
    kubectl create secret tls haproxy-tls --key nginx.key --cert nginx.pem -n haproxy
  5. 部署

    1
    helm install haproxy haproxytech/haproxy -f haproxy-values.yaml -n haproxy
  6. 查看访问地址

    1
    kubectl get svc -n haproxy

卸载

  1. 卸载 haproxy

    1
    helm uninstall haproxy -n haproxy
  2. 删除命名空间

    1
    kubectl delete namespace haproxy

I'm so cute. Please give me money.

其他文章
cover
Helm部署Drone
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
cover
Helm部署Harbor
  • 70/01/01
  • 00:00
  • Kubernetes-Helm
目录导航 置顶
  1. 1. Helm部署Haproxy
    1. 1.1. 介绍
    2. 1.2. 开始部署
    3. 1.3. 卸载
请输入关键词进行搜索