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.