hifis.haproxy

HAProxy 角色

:warning: 此项目已归档! :warning:

该角色已迁移到我们的 hifis.toolkit 集合中:

CI 状态 Ansible 角色: hifis.haproxy Ansible 角色下载 Apache-2.0 许可证 最新版本 DOI

这是一个设置 HAProxy 作为高可用性和可扩展性环境中负载均衡器的角色。

当前支持的平台(见 [meta/main.yml])为:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

该角色是在 HAProxy 的两个最新 LTS 版本下进行测试的。 目前,这意味着对 HAProxy 发布系列的官方支持:

  • 2.6
  • 2.4

其他版本已知也能正常工作,但未进行自动测试。

需求

无。

角色变量

必填变量(默认未设置)

后端 GitLab IP 地址

指定后端的名称和 IP 地址列表(端口是可选的,默认为 80):

haproxy_backends:
  - backend_name: 'backend_server_1'
    backend_ip: '192.168.33.10'
    backend_port: '80'

前端浮动 IP 地址

指定前端的浮动 IP 地址:

haproxy_frontend_ip: '192.168.33.100'

必填变量(默认设置,但需要调整)

HAProxy 使用的处理器数量

设置 HAProxy 使用的处理器数量:

haproxy_nbproc: '1'

HAProxy 使用的线程数量

设置 HAProxy 使用的线程数量:

haproxy_nbthread: '2'

HAProxy 多线程的 CPU 映射

将线程映射到 CPU 核心:

haproxy_cpumap: 'auto:1/1-2 0-1'

启用/禁用统计信息

变量来启用或禁用统计信息:

haproxy_stats_enable: 'enable'

统计管理员用户名

变量用来保存统计管理员用户名:

haproxy_stats_admin_user: 'admin'

统计管理员用户密码

变量用来保存统计管理员用户密码:

haproxy_stats_admin_user_password: 'changeme'

所有其他默认变量

HAProxy 可执行文件路径

指向 HAProxy 可执行文件位置的路径变量:

haproxy_executable_path: '/usr/sbin/haproxy'

HAProxy PPA 版本

将 PPA 版本固定为某个特定值的变量:

haproxy_ppa_version: 'ppa:vbernat/haproxy-2.6'

HAProxy 版本

将 HAProxy 版本固定为某个特定值的变量:

haproxy_version: '2.6.*'

HAProxy 用户

指定 HAProxy 系统用户的变量:

haproxy_user: 'haproxy'

HAProxy 组

指定 HAProxy 系统组的变量:

haproxy_group: 'haproxy'

要安装的 HAProxy 依赖项

要安装的 HAProxy 依赖项列表:

haproxy_dependencies:
  - 'software-properties-common'

HAProxy 二进制文件名称

HAProxy 二进制文件名称:

haproxy_name: 'haproxy'

HAProxy 配置模板

提供 HAProxy 配置模板的路径:

haproxy_config_template: 'haproxy.cfg.j2'

HAProxy 配置目录路径

给出 HAProxy 配置目录的路径:

haproxy_conf_dir: '/etc/haproxy/'

HAProxy 配置文件路径

给出 HAProxy 配置文件的路径:

haproxy_conf_file_path: "/etc/haproxy/haproxy.cfg"

HAProxy 日志套接字路径

给出 HAProxy 日志套接字的路径:

haproxy_log_socket: '/dev/log'

HAProxy 日志级别

指定 HAProxy 的日志级别。 可能的值有: emerg, alert, crit, err, warning, notice, info, debug

haproxy_log_level: 'info'

HAProxy 套接字文件路径

给出 HAProxy 套接字文件的路径:

haproxy_socket: '/run/haproxy/admin.sock'

HAProxy 自签名 SSL 证书创建

是否创建自签名 SSL 证书:

haproxy_create_self_signed_cert: true

SSL 证书的国家名称

设置用于 SSL 证书的国家:

haproxy_country_name: 'DE'

SSL 证书的州名称

设置用于 SSL 证书的州:

haproxy_state_or_province_name: 'Saxony'

SSL 证书的地方名称

设置用于 SSL 证书的地方:

haproxy_locality_name: 'Dresden'

SSL 证书的组织名称

设置用于 SSL 证书的组织:

haproxy_organization_name: 'Helmholtz-Zentrum Dresden-Rossendorf (HZDR)'

SSL 证书的组织单位名称

设置用于 SSL 证书的组织单位:

haproxy_organizational_unit_name: 'FWCC / Computational Science'

SSL 证书的电子邮件地址

设置用于 SSL 证书的电子邮件地址:

haproxy_email_address: '[email protected]'

SSL 证书的通用名称

设置用于 SSL 证书的通用名称:

haproxy_common_name: 'Helmholtz Association'

HAProxy SSL 目录路径

给出 HAProxy SSL 目录的路径:

haproxy_ssl_certificate_dir: '/etc/haproxy/ssl'

HAProxy 私钥文件路径

给出 HAProxy 私钥文件的路径:

haproxy_ssl_certificate_key_file: "/etc/haproxy/ssl/haproxy.key"

HAProxy 证书签名请求文件路径

给出 HAProxy 证书签名请求文件的路径:

haproxy_ssl_certificate_csr_file: '/etc/haproxy/ssl/haproxy.csr'

HAProxy 证书文件路径

给出 HAProxy 证书文件的路径:

haproxy_ssl_certificate_crt_file: "/etc/haproxy/ssl/haproxy.crt"

HAProxy PKCS12 文件路径

给出 HAProxy PKCS12 文件的路径:

haproxy_ssl_certificate_pkcs12_file: "/etc/haproxy/ssl/haproxy.p12"

HAProxy 证书链文件路径

给出 HAProxy 证书链文件的路径:

haproxy_ssl_certificate_chain_file: "/etc/haproxy/ssl/haproxy.pem"

HAProxy 证书链源文件路径

给出 HAProxy 证书链源文件在控制节点的路径,将复制到远程主机:

haproxy_ssl_cert_chain_src_file_path: "haproxy.pem"

注意:haproxy_create_self_signed_cert 设置为 false 时,此变量为必填项。文件应为 PEM 格式,至少包括公钥证书和私钥。

HAProxy DH 参数文件路径

给出 DH 参数文件的路径:

haproxy_ssl_dhparam_file: "/etc/haproxy/ssl/dhparam.pem"

HAProxy DH 参数大小

生成的 DH 参数大小(以位为单位):

haproxy_ssl_dhparam_size: 4096

依赖项

无。

注意:这个角色旨在与 hifis.keepalived 角色一起使用,但不限于此。

示例剧本

- hosts: loadbalancers
  roles:
    - role: hifis.haproxy
      vars:
        haproxy_frontend_ip: '192.168.33.100'
        haproxy_backends:
          - backend_name: 'backend_server_1'
            backend_ip: '192.168.33.10'
            backend_port: 80

许可证

Apache-2.0

作者信息

HIFIS 软件团队

贡献者

我们要感谢并给予以下贡献者对本项目的贡献:

关于项目

Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.

安装
ansible-galaxy install hifis.haproxy
许可证
other
下载
25.9k
拥有者
Helmholtz Digital Services for Science — Collaboration made easy.