hifis.haproxy
HAProxyロール
:warning: このプロジェクトはアーカイブされました! :warning:
このロールはhifis.toolkit
コレクションに移行されました:
- https://github.com/hifis-net/ansible-collection-toolkit
- https://galaxy.ansible.com/ui/repo/published/hifis/toolkit/
HAProxyを高可用性とスケーラビリティの文脈でロードバランサーとして使用するためのロールです。
現在サポートされているプラットフォームは以下の通りです:
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
このロールはHAProxyの最新のLTSバージョン2つに対してテストされています。 現在、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'
自己署名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: 'ヘルムホルツ・ツェントルム・ドレスデン=ロッセンドルフ (HZDR)'
SSL証明書の組織単位名
SSL証明書に使用する組織単位を設定します:
haproxy_organizational_unit_name: 'FWCC / 計算科学'
SSL証明書のメールアドレス
SSL証明書に使用するメールアドレスを設定します:
haproxy_email_address: '[email protected]'
SSL証明書の共通名
SSL証明書に使用する共通名を設定します:
haproxy_common_name: 'ヘルムホルツ協会'
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パラメータファイルのパス
HAProxy 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
ライセンス
作者情報
貢献者
このプロジェクトの以下の貢献者に感謝の意を表します:
Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.
ansible-galaxy install hifis.haproxy