manala.maxscale
#######################################################################################################
:exclamation: DESAPROBACIÓN :exclamation:
Este repositorio y el rol asociado están descontinuados en favor de la Colección Manala Ansible
Encontrarás información sobre su uso en el repositorio de la colección
#######################################################################################################
Rol de Ansible: Maxscale 
:exclamation: Reporta problemas y envía Pull Requests en el repositorio principal de Roles de Ansible :exclamation:
Este rol se encargará de la configuración y puesta en marcha de Maxscale.
Es parte de la stack Ansible Manala pero puede ser utilizado como un componente independiente.
Requisitos
Este rol está diseñado para trabajar con los paquetes debian de mariadb maxscale, disponibles en el repositorio de mariadb maxscale. Utiliza el rol de manala.apt para manejarlo adecuadamente.
manala_apt_preferences:
- maxscale@maxscale_2_4
Dependencias
Ninguna.
Instalación
Ansible 2+
Usando la CLI de ansible galaxy:
ansible-galaxy install manala.maxscale
Usando un archivo de requisitos de ansible galaxy:
- src: manala.maxscale
Manejadores del rol
Nombre | Tipo | Descripción |
---|---|---|
maxscale restart |
Servicio | Reiniciar el servicio Maxscale |
Variables del rol
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
manala_maxscale_install_packages |
~ | Array | Paquetes de dependencia a instalar |
manala_maxscale_install_packages_default |
['maxscale'] | Array | Paquetes de dependencia predeterminados a instalar |
manala_maxscale_config_file |
'/etc/maxscale.cnf' | String | Ruta del archivo de configuración |
manala_maxscale_config_template |
'config/_default.j2' | String | Ruta de la plantilla de configuración predeterminada |
manala_maxscale_config |
~ | Array/String | Configuración |
manala_maxscale_configs_exclusive |
false | Boolean | Exclusividad de configuraciones |
manala_maxscale_configs_dir |
'{{ manala_maxscale_config_file }}.d' | String | Ruta del directorio de configuraciones |
manala_maxscale_configs_defaults |
{} | Array | Ruta de la plantilla de configuraciones predeterminadas |
manala_maxscale_configs |
[] | Array | Configuraciones |
manala_maxscale_users_file |
'/var/lib/maxscale/passwd' | String | Ruta del archivo de usuarios |
manala_maxscale_users_template |
'users/_default.j2' | String | Ruta de la plantilla de usuarios predeterminada |
manala_maxscale_network_users |
~ | Array | Usuarios de red (no se modifica si es nulo) |
Ejemplo de configuración (Configuración de clúster Galera)
Plantilla de configuración
manala_maxscale_config_template: maxscale/custom_template.j2
Configuración basada en contenido
manala_maxscale_config: |
[maxscale]
max_auth_errors_until_block = 0
[admin]
type = service
router = cli
Configuración basada en un array de diccionarios (desaprobado)
manala_maxscale_config:
- maxscale:
- threads: auto # Contenedor dedicado
- Servicio Splitter:
- type: service
- router: readwritesplit
- servers: mariadb-1, mariadb-2, mariadb-3
- user: maxscale
- passwd: XXXXXXXXXXXXXX
- Listener Splitter:
- type: listener
- address: "{{ ansible_eth0.ipv4.address }}" # Ip del host, puede omitirse, el valor por defecto es escuchar en todas las interfaces
- port: 3306
- socket: /tmp/ClusterMaster
- service: Servicio Splitter
- 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
- Monitor Galera:
- type: monitor
- module: galeramon
- servers: mariadb-1, mariadb-1, mariadb-1
- user: maxscale
- passwd: XXXXXXXXXXX
- CLI:
- type: service
- router: cli
- Listener CLI:
- type: listener
- service: CLI
- protocol: maxscaled
- address: localhost
- port: 6603
Configuraciones
manala_maxscale_configs_exclusive: true
manala_maxscale_configs:
# Basado en contenido
- file: foo.cnf
config: |
[foo-1]
type = server
address = foo-1
port = 3306
protocol = MariaDBBackend
# Basado en array de diccionarios (desaprobado)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Diccionario basado (desaprobado)
- file: bar.cnf
config:
- foo-1:
- type: server
- address: foo-1
- port: 3306
- protocol: MariaDBBackend
# Plantilla cnf
- file: template.cnf
template: my_maxscale_template.cnf.j2
config:
Foo: bar
# Asegurar que la configuración está ausente
- file: absent.cnf
state: absent # "present" por defecto
# Ignorar configuración
- file: ignore.cnf
state: ignore
# Aplanar configuraciones
- "{{ my_custom_configs_array }}"
Usuarios
manala_maxscale_network_users:
- name: foo
password: $1$MXS$ilOCSZPnjmHjTz6B96SiJ1 # "foo" (generado por maxpasswd)
- name: bar
password: $1$MXS$M.YZOr2pNTgW87l7KQWLU/ # "bar" (generado por maxpasswd)
Ejemplo de playbook
- hosts: servers
roles:
- role: manala.maxscale
Licencia
MIT
Información del autor
Manala (http://www.manala.io/)
Installation and configuration of Maxscale (MySQL/MariaDB Proxy)
ansible-galaxy install manala.maxscale