maxscale

#######################################################################################################

:exclamation: УСТАРЕВАНИЕ :exclamation:

Этот репозиторий и связанная с ним роль устарели в пользу Manala Ansible Collection

Вы найдете информацию о его использовании в репозитории коллекции

#######################################################################################################

Ansible Роль: Maxscale Статус сборки

:exclamation: Сообщите о проблемах и отправьте Pull Requests в основной репозиторий Ansible Role :exclamation:

Эта роль будет заниматься настройкой и конфигурацией Maxscale.

Она является частью Ansible стека Manala, но может использоваться как отдельный компонент.

Требования

Эта роль предназначена для работы с debian-пакетами mariadb maxscale, доступными в mariadb maxscale репозитории. Пожалуйста, используйте роль 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)

Пример playbook

- hosts: servers
  roles:
    - role: manala.maxscale

Лицензия

MIT

Информация об авторе

Manala (http://www.manala.io/)

О проекте

Installation and configuration of Maxscale (MySQL/MariaDB Proxy)

Установить
ansible-galaxy install manala/ansible-role-maxscale
Лицензия
Unknown
Загрузки
2960
Владелец
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.