rhtconsulting.haproxy
haproxy
HAProxyを1つ以上のロードバランスアプリケーション用にインストールおよび設定するためのAnsibleロールです。
このロールは、HAProxyのフロントエンドとバックエンドサーバーの設定に気を配るのではなく、ユーザーがロードバランスさせたいアプリケーションの設定に集中すべきだという考えに基づいています。したがって、このロールの使用は、ユーザーがロードバランスさせたいアプリケーションを指定し、その後ロールがHAProxyのフロントエンドとバックエンドサーバーの設定を自動的に処理することを前提としています。
要件
このロールが機能するための要件。
パッケージ
ロールをインストールするために利用可能でなければならないパッケージ。
- haproxy
サービス
ロールが設定するために有効にする必要があるサービス。
- firewalld
ロール変数
期待されるロールパラメータに関する情報。
パラメータ | 必須 | デフォルト | 選択肢 | コメント |
---|---|---|---|---|
haproxy_applications | はい | ロードバランスさせるアプリケーションを定義するハッシュのリスト |
haproxy_applications
haproxy_applications
パラメータは、ロードバランスさせるアプリケーションを定義するハッシュのリストです。リスト内の各アイテムは次のパラメータを含むことができます。
パラメータ | 必須 | デフォルト | 選択肢 | コメント |
---|---|---|---|---|
name | はい | アプリケーションの名前。フロントエンドおよびバックエンドサーバー定義に使用されます。HAProxyの統計に表示されるため、説明的である必要があります。/a-zA-Z0-9-_ に一致する必要があります。 |
||
domain | はい | HAProxyサーバーに解決され、servers をロードバランスするためのFQDN。単純なFQDNまたはドメインに一致する正規表現を使用できます。 |
||
domain_is_regex | いいえ | false | true, false | 指定されたdomain が正規表現である場合はtrue 、そうでない場合はfalse 。 |
expose_http | いいえ | false | true, false | このアプリケーションをhttpで公開するためにtrue 、公開しないためにfalse 。 |
expose_https | いいえ | false | true, false | このアプリケーションをhttpsで公開するためにtrue 、公開しないためにfalse 。 |
redirect_http_to_https | いいえ | false | true, false | httpからhttpsに自動的にリダイレクトするためにtrue 、リダイレクトしないためにfalse 。 |
servers | はい | ロードバランスさせるサーバーを定義するハッシュのリスト。 |
servers
haproxy_applications
リストの各要素には、各アプリケーションのロードバランスのためのサーバーを定義するservers
キーを含める必要があります。リスト内の各アイテムは次のパラメータを含むことができます。
パラメータ | 必須 | デフォルト | 選択肢 | コメント |
---|---|---|---|---|
name | はい | サーバーを参照するために使用される名前。HAProxyの統計に表示されます。/a-zA-Z0-9-_ に一致する必要があります。 |
||
address | はい | ロードバランスするサーバーのFQDNまたはIP。 | ||
port_http | いいえ | 80 | expose_http がtrue のときにaddress のサーバーのポート。 |
|
port_https | いいえ | 443 | expose_https がtrue のときにaddress のサーバーのポート。 |
実例プレイブック
Ansible Towerのロードバランス
- name: HAProxy
hosts: haproxy
roles:
- role: haproxy
haproxy_applications:
- name: ansible-tower
domain: tower.example.com
expose_https: True
redirect_http_to_https: True
servers:
- name: tower0002
address: tower0002.example.com
- name: tower0003
address: tower0003.example.com
- name: tower0004
address: tower0004.example.com
OpenShift Container Platform (OCP) マスターとルーターのロードバランス
- name: HAProxy
hosts: haproxy
roles:
- role: haproxy
haproxy_applications:
- name: ocp-admin
domain: ocp.example.com
expose_https: True
redirect_http_to_https: True
servers:
- name: ocp0002-master
address: ocp0002.example.com
- name: ocp0003-master
address: ocp0003.example.com
- name: ocp0004-master
address: ocp0004.example.com
- name: ocp-router
domain: .*.apps.example.com
domain_is_regex: True
expose_https: True
expose_http: True
redirect_http_to_https: False
servers:
- name: ocp0005-infra
address: ocp0005.example.com
- name: ocp0006-infra
address: ocp0006.example.com
- name: ocp0007-infra
address: ocp0007.example.com
著者情報
- Red Hat Consulting
- Ian Tewksbury (itewk@redhat.com)