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 Build-Status

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

Über das Projekt

Installation and configuration of Maxscale (MySQL/MariaDB Proxy)

Installieren
ansible-galaxy install manala.maxscale
GitHub Repository
Lizenz
Unknown
Downloads
3.5k
Besitzer
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.