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 Estado de la compilación

: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/)

Acerca del proyecto

Installation and configuration of Maxscale (MySQL/MariaDB Proxy)

Instalar
ansible-galaxy install manala.maxscale
Licencia
Unknown
Descargas
3.5k
Propietario
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.