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 Statut de Construction

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

À propos du projet

Installation and configuration of Maxscale (MySQL/MariaDB Proxy)

Installer
ansible-galaxy install manala.maxscale
Licence
Unknown
Téléchargements
3.5k
Propriétaire
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.