manala.maxscale
#######################################################################################################
:exclamation: DÉPRÉCIATION :exclamation:
Ce dépôt et le rôle associé sont dépréciés au profit de la Collection Ansible Manala
Vous trouverez des informations sur son utilisation dans le dépôt de la collection
#######################################################################################################
Rôle Ansible : Maxscale 
:exclamation: Signaler des problèmes et envoyer des demandes de tirage dans le dépôt principal des rôles Ansible :exclamation:
Ce rôle gérera la configuration et le paramétrage de Maxscale.
Il fait partie de la pile Ansible Manala mais peut être utilisé de manière autonome.
Exigences
Ce rôle est conçu pour fonctionner avec les paquets mariadb maxscale Debian, disponibles sur le dépôt mariadb maxscale. Veuillez utiliser le rôle manala.apt pour le gérer correctement.
manala_apt_preferences:
- maxscale@maxscale_2_4
Dépendances
Aucune.
Installation
Ansible 2+
En utilisant la CLI d'Ansible Galaxy :
ansible-galaxy install manala.maxscale
En utilisant un fichier de requirements d'Ansible Galaxy :
- src: manala.maxscale
Gestionnaires du rôle
Nom | Type | Description |
---|---|---|
maxscale restart |
Service | Redémarrer le service Maxscale |
Variables du rôle
Nom | Par défaut | Type | Description |
---|---|---|---|
manala_maxscale_install_packages |
~ | Array | Paquets dépendants à installer |
manala_maxscale_install_packages_default |
['maxscale'] | Array | Paquets dépendants par défaut à installer |
manala_maxscale_config_file |
'/etc/maxscale.cnf' | String | Chemin du fichier de configuration |
manala_maxscale_config_template |
'config/_default.j2' | String | Chemin du modèle de configuration par défaut |
manala_maxscale_config |
~ | Array/String | Configuration |
manala_maxscale_configs_exclusive |
false | Boolean | Exclusivité des configurations |
manala_maxscale_configs_dir |
'{{ manala_maxscale_config_file }}.d' | String | Chemin du répertoire de configurations |
manala_maxscale_configs_defaults |
{} | Array | Chemin du modèle de configurations par défaut |
manala_maxscale_configs |
[] | Array | Configurations |
manala_maxscale_users_file |
'/var/lib/maxscale/passwd' | String | Chemin du fichier des utilisateurs |
manala_maxscale_users_template |
'users/_default.j2' | String | Chemin du modèle des utilisateurs par défaut |
manala_maxscale_network_users |
~ | Array | Utilisateurs réseaux (inchangés si nul) |
Exemple de configuration (configuration de cluster Galera)
Modèle de configuration
manala_maxscale_config_template: maxscale/custom_template.j2
Configuration basée sur le contenu
manala_maxscale_config: |
[maxscale]
max_auth_errors_until_block = 0
[admin]
type = service
router = cli
Configuration basée sur un tableau de dictionnaires (dépréciée)
manala_maxscale_config:
- maxscale:
- threads: auto # Conteneur dédié
- 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 de l'hôte, peut être omis par défaut c'est écouter toutes les interfaces
- 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
Configurations
manala_maxscale_configs_exclusive: true
manala_maxscale_configs:
# Basée sur le contenu
- file: foo.cnf
config: |
[foo-1]
type = server
address = foo-1
port = 3306
protocol = MariaDBBackend
# Basée sur un tableau de dictionnaires (dépréciée)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Dictionnaire basé (déprécié)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Modèle cnf
- file: template.cnf
template: my_maxscale_template.cnf.j2
config:
Foo: bar
# Assurer que la configuration est absente
- file: absent.cnf
state: absent # "present" par défaut
# Ignorer la configuration
- file: ignore.cnf
state: ignore
# Aplatir les configurations
- "{{ my_custom_configs_array }}"
Utilisateurs
manala_maxscale_network_users:
- name: foo
password: $1$MXS$ilOCSZPnjmHjTz6B96SiJ1 # "foo" (généré par maxpasswd)
- name: bar
password: $1$MXS$M.YZOr2pNTgW87l7KQWLU/ # "bar" (généré par maxpasswd)
Exemple de playbook
- hosts: servers
roles:
- role: manala.maxscale
Licence
MIT
Informations sur l'auteur
Manala (http://www.manala.io/)
Installation and configuration of Maxscale (MySQL/MariaDB Proxy)
ansible-galaxy install manala.maxscale