manala.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.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.