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
ダウンロード
4k
所有者
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.
