manala.maxscale
#######################################################################################################
:exclamation: ABLEHNUNG :exclamation:
Dieses Repository und die zugehörige Rolle sind obsolet zugunsten der Manala Ansible Collection
Informationen zur Verwendung finden Sie im Sammlungsrepository
#######################################################################################################
Ansible Rolle: Maxscale 
:exclamation: Melden Sie Probleme und senden Sie Pull-Requests im Hauptrepository für Ansible-Rollen :exclamation:
Diese Rolle behandelt die Einrichtung und Konfiguration von Maxscale.
Sie ist Teil des Manala Ansible-Stacks, kann jedoch auch als eigenständige Komponente verwendet werden.
Anforderungen
Diese Rolle wurde für die mariadb maxscale Debian-Pakete entwickelt, die im mariadb maxscale Repository verfügbar sind. Bitte verwenden Sie die manala.apt Rolle, um dies richtig zu handhaben.
manala_apt_preferences:
- maxscale@maxscale_2_4
Abhängigkeiten
Keine.
Installation
Ansible 2+
Verwendung des Ansible Galaxy CLI:
ansible-galaxy install manala.maxscale
Verwendung einer Ansible Galaxy-Anforderungsdatei:
- src: manala.maxscale
Rollenhandler
Name | Typ | Beschreibung |
---|---|---|
maxscale restart |
Service | Neustart des Maxscale-Dienstes |
Rollenvariablen
Name | Standard | Typ | Beschreibung |
---|---|---|---|
manala_maxscale_install_packages |
~ | Array | Abhängigkeitspakete zur Installation |
manala_maxscale_install_packages_default |
['maxscale'] | Array | Standardabhängigkeitspakete zur Installation |
manala_maxscale_config_file |
'/etc/maxscale.cnf' | String | Pfad zur Konfigurationsdatei |
manala_maxscale_config_template |
'config/_default.j2' | String | Pfad zur Standardkonfigurationstemplate |
manala_maxscale_config |
~ | Array/String | Konfiguration |
manala_maxscale_configs_exclusive |
false | Boolean | Exklusivität der Konfigurationen |
manala_maxscale_configs_dir |
'{{ manala_maxscale_config_file }}.d' | String | Pfad zum Konfigurationsverzeichnis |
manala_maxscale_configs_defaults |
{} | Array | Pfad zum Default-Konfigurationstemplate |
manala_maxscale_configs |
[] | Array | Konfigurationen |
manala_maxscale_users_file |
'/var/lib/maxscale/passwd' | String | Pfad zur Benutzerdatei |
manala_maxscale_users_template |
'users/_default.j2' | String | Pfad zum Standardbenutzertemplate |
manala_maxscale_network_users |
~ | Array | Netzwerkbenutzer (unberührt, wenn null) |
Konfigurationsbeispiel (Galera-Cluster-Konfiguration)
Konfigurationsvorlage
manala_maxscale_config_template: maxscale/custom_template.j2
Inhaltsbasierte Konfiguration
manala_maxscale_config: |
[maxscale]
max_auth_errors_until_block = 0
[admin]
type = service
router = cli
Dict Array basierte Konfiguration (obsolet)
manala_maxscale_config:
- maxscale:
- threads: auto #Dedizierter Container
- 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 des Hosts, kann weggelassen werden, Standard ist alle Interfaces abhören
- 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
Konfigurationen
manala_maxscale_configs_exclusive: true
manala_maxscale_configs:
# Inhaltsbasierte
- file: foo.cnf
config: |
[foo-1]
type = server
address = foo-1
port = 3306
protocol = MariaDBBackend
# Dict Array basierte Konfiguration (obsolet)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Dict Array (obsolet)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Template cnf
- file: template.cnf
template: my_maxscale_template.cnf.j2
config:
Foo: bar
# Sicherstellen, dass die Konfiguration abwesend ist
- file: absent.cnf
state: absent # "present" ist der Standard
# Konfiguration ignorieren
- file: ignore.cnf
state: ignore
# Konfigurationen zusammenfassen
- "{{ my_custom_configs_array }}"
Benutzer
manala_maxscale_network_users:
- name: foo
password: $1$MXS$ilOCSZPnjmHjTz6B96SiJ1 # "foo" (generiert von maxpasswd)
- name: bar
password: $1$MXS$M.YZOr2pNTgW87l7KQWLU/ # "bar" (generiert von maxpasswd)
Beispiel-Playbook
- hosts: servers
roles:
- role: manala.maxscale
Lizenz
MIT
Autorinformationen
Manala (http://www.manala.io/)
Installation and configuration of Maxscale (MySQL/MariaDB Proxy)
ansible-galaxy install manala.maxscale