manala.maxscale
#######################################################################################################
:exclamation: DEPRECJA :exclamation:
To repozytorium i powiązana rola są przestarzałe na rzecz Kolekcji Ansible Manala
Informacje na temat jej użycia znajdziesz w repozytorium kolekcji
#######################################################################################################
Rola Ansible: Maxscale 
:exclamation: Zgłaszaj problemy i wysyłaj Pull Requesty w głównym repozytorium ról Ansible :exclamation:
Ta rola zajmuje się konfiguracją i ustawieniem Maxscale.
Jest częścią stosu Ansible Manala, ale można jej używać jako samodzielnego komponentu.
Wymagania
Ta rola jest zaprojektowana do współpracy z pakietami mariadb maxscale dostępnymi w repozytorium mariadb maxscale. Proszę użyć roli manala.apt do prawidłowego zarządzania tym procesem.
manala_apt_preferences:
- maxscale@maxscale_2_4
Zależności
Brak.
Instalacja
Ansible 2+
Używając CLI Ansible Galaxy:
ansible-galaxy install manala.maxscale
Używając pliku wymagań Ansible Galaxy:
- src: manala.maxscale
Obsługa ról
Nazwa | Typ | Opis |
---|---|---|
maxscale restart |
Usługa | Restart usługi Maxscale |
Zmienne roli
Nazwa | Domyślna wartość | Typ | Opis |
---|---|---|---|
manala_maxscale_install_packages |
~ | Tablica | Pakiety zależności do zainstalowania |
manala_maxscale_install_packages_default |
['maxscale'] | Tablica | Domyślne pakiety zależności do zainstalowania |
manala_maxscale_config_file |
'/etc/maxscale.cnf' | String | Ścieżka do pliku konfiguracyjnego |
manala_maxscale_config_template |
'config/_default.j2' | String | Ścieżka do domyślnego szablonu konfiguracyjnego |
manala_maxscale_config |
~ | Tablica/ String | Konfiguracja |
manala_maxscale_configs_exclusive |
false | Boolean | Ekskluzywność konfiguracji |
manala_maxscale_configs_dir |
'{{ manala_maxscale_config_file }}.d' | String | Ścieżka do katalogu konfiguracji |
manala_maxscale_configs_defaults |
{} | Tablica | Ścieżka do domyślnych szablonów konfiguracji |
manala_maxscale_configs |
[] | Tablica | Konfiguracje |
manala_maxscale_users_file |
'/var/lib/maxscale/passwd' | String | Ścieżka do pliku użytkowników |
manala_maxscale_users_template |
'users/_default.j2' | String | Ścieżka do domyślnego szablonu użytkowników |
manala_maxscale_network_users |
~ | Tablica | Użytkownicy sieciowi (niezmieniani jeśli null) |
Przykład konfiguracji (konfiguracja klastra Galera)
Szablon konfiguracji
manala_maxscale_config_template: maxscale/custom_template.j2
Konfiguracja oparta na treści
manala_maxscale_config: |
[maxscale]
max_auth_errors_until_block = 0
[admin]
type = service
router = cli
Konfiguracja oparta na tablicy słowników (przestarzała)
manala_maxscale_config:
- maxscale:
- threads: auto #Dedykowany kontener
- 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 }}" # Adres IP hosta, może być pominięty, domyślnie nasłuchuje na wszystkich interfejsach
- 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
Konfiguracje
manala_maxscale_configs_exclusive: true
manala_maxscale_configs:
# Opierają się na treści
- file: foo.cnf
config: |
[foo-1]
type = server
address = foo-1
port = 3306
protocol = MariaDBBackend
# Opierają się na tablicy słowników (przestarzałe)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Tablica słowników (przestarzałe)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Szablon cnf
- file: template.cnf
template: my_maxscale_template.cnf.j2
config:
Foo: bar
# Upewnij się, że konfiguracja jest nieobecna
- file: absent.cnf
state: absent # "present" domyślnie
# Ignoruj konfigurację
- file: ignore.cnf
state: ignore
# Spłaszczone konfiguracje
- "{{ my_custom_configs_array }}"
Użytkownicy
manala_maxscale_network_users:
- name: foo
password: $1$MXS$ilOCSZPnjmHjTz6B96SiJ1 # "foo" (wygenerowane przez maxpasswd)
- name: bar
password: $1$MXS$M.YZOr2pNTgW87l7KQWLU/ # "bar" (wygenerowane przez maxpasswd)
Przykład playbooka
- hosts: servers
roles:
- role: manala.maxscale
Licencja
MIT
Informacje o autorze
Manala (http://www.manala.io/)
Installation and configuration of Maxscale (MySQL/MariaDB Proxy)
ansible-galaxy install manala.maxscale