manala.maxscale
#######################################################################################################
:exclamation: 非推奨 :exclamation:
このリポジトリと関連するロールは、Manala Ansible Collection に移行され、非推奨となりました。
使い方の情報は、コレクションのリポジトリ で見つけることができます。
#######################################################################################################
Ansible Role: Maxscale 
:exclamation: 問題を報告し、プルリクエストを送信してください。 :exclamation:
このロールは、Maxscale のセットアップと構成を扱います。
これはManala Ansibleスタックの一部ですが、単独のコンポーネントとしても使用できます。
要件
このロールは、mariadb maxscale リポジトリにある__mariadb maxscale__のDebianパッケージと互換性があります。 これを適切に処理するために、manala.aptロールを使用してください。
manala_apt_preferences:
- maxscale@maxscale_2_4
依存関係
なし。
インストール
Ansible 2+
ansible galaxy CLIを使用する場合:
ansible-galaxy install manala.maxscale
ansible galaxy要件ファイルを使用する場合:
- src: manala.maxscale
ロールハンドラ
名前 | タイプ | 説明 |
---|---|---|
maxscale restart |
サービス | Maxscaleサービスを再起動 |
ロール変数
名前 | デフォルト | タイプ | 説明 |
---|---|---|---|
manala_maxscale_install_packages |
~ | 配列 | インストールする依存パッケージ |
manala_maxscale_install_packages_default |
['maxscale'] | 配列 | デフォルトの依存パッケージ |
manala_maxscale_config_file |
'/etc/maxscale.cnf' | 文字列 | 設定ファイルのパス |
manala_maxscale_config_template |
'config/_default.j2' | 文字列 | デフォルトの設定テンプレートのパス |
manala_maxscale_config |
~ | 配列/文字列 | 設定内容 |
manala_maxscale_configs_exclusive |
false | ブーリアン | 設定の排他性 |
manala_maxscale_configs_dir |
'{{ manala_maxscale_config_file }}.d' | 文字列 | 設定ディレクトリのパス |
manala_maxscale_configs_defaults |
{} | 配列 | デフォルトの設定テンプレートのパス |
manala_maxscale_configs |
[] | 配列 | 設定内容 |
manala_maxscale_users_file |
'/var/lib/maxscale/passwd' | 文字列 | ユーザーファイルのパス |
manala_maxscale_users_template |
'users/_default.j2' | 文字列 | デフォルトのユーザーテンプレートのパス |
manala_maxscale_network_users |
~ | 配列 | ネットワークユーザー(nullの場合はそのまま) |
設定例 (Galeraクラスターの設定)
設定テンプレート
manala_maxscale_config_template: maxscale/custom_template.j2
内容に基づく設定
manala_maxscale_config: |
[maxscale]
max_auth_errors_until_block = 0
[admin]
type = service
router = cli
ディクショナリの配列に基づく設定 (非推奨)
manala_maxscale_config:
- maxscale:
- threads: auto #専用コンテナ
- Splitter Service:
- type: service
- router: readwritesplit
- servers: mariadb-1, mariadb-2, mariadb-3
- user: maxscale
- passwd: XXXXXXXXXXXXXX
- Splitter Listener:
- type: listener
- address: "{{ ansible_eth0.ipv4.address }}" # ホストのIP、デフォルトは全インターフェースをリッスン
- port: 3306
- socket: /tmp/ClusterMaster
- service: Splitter Service
- protocol: MySQLClient
- mysql-1:
- type: server
- address: 172.16.X.XX
- port: 3306
- protocol: MySQLBackend
- mysql-2:
- type: server
- address: 172.16.X.XX
- port: 3306
- protocol: MySQLBackend
- mysql-3:
- type: server
- address: 172.16.X.XX
- port: 3306
- protocol: MySQLBackend
- Galera Monitor:
- type: monitor
- module: galeramon
- servers: mariadb-1, mariadb-1, mariadb-1
- user: maxscale
- passwd: XXXXXXXXXXX
- CLI:
- type: service
- router: cli
- CLI Listener:
- type: listener
- service: CLI
- protocol: maxscaled
- address: localhost
- port: 6603
設定
manala_maxscale_configs_exclusive: true
manala_maxscale_configs:
# 内容に基づく
- file: foo.cnf
config: |
[foo-1]
type = server
address = foo-1
port = 3306
protocol = MariaDBBackend
# ディクショナリの配列に基づく (非推奨)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# ディクショナリの配列 (非推奨)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# テンプレートcnf
- file: template.cnf
template: my_maxscale_template.cnf.j2
config:
Foo: bar
# 設定が存在しないことを保証
- file: absent.cnf
state: absent # デフォルトは "present"
# 設定を無視
- file: ignore.cnf
state: ignore
# 設定を平坦化
- "{{ my_custom_configs_array }}"
ユーザー
manala_maxscale_network_users:
- name: foo
password: $1$MXS$ilOCSZPnjmHjTz6B96SiJ1 # "foo" (maxpasswdで生成)
- name: bar
password: $1$MXS$M.YZOr2pNTgW87l7KQWLU/ # "bar" (maxpasswdで生成)
例 プレイブック
- hosts: servers
roles:
- role: manala.maxscale
ライセンス
MIT
著者情報
Manala (http://www.manala.io/)
プロジェクトについて
Installation and configuration of Maxscale (MySQL/MariaDB Proxy)
インストール
ansible-galaxy install manala.maxscale
ライセンス
Unknown
ダウンロード
3.5k
所有者
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.