manala.maxscale

#######################################################################################################

:exclamation: DEPRECJA :exclamation:

To repozytorium i powiązana rola są przestarzałe na rzecz Kolekcji Ansible Manala

Informacje na temat jej użycia znajdziesz w repozytorium kolekcji

#######################################################################################################

Rola Ansible: Maxscale Status Budowy

:exclamation: Zgłaszaj problemy i wysyłaj Pull Requesty w głównym repozytorium ról Ansible :exclamation:

Ta rola zajmuje się konfiguracją i ustawieniem Maxscale.

Jest częścią stosu Ansible Manala, ale można jej używać jako samodzielnego komponentu.

Wymagania

Ta rola jest zaprojektowana do współpracy z pakietami mariadb maxscale dostępnymi w repozytorium mariadb maxscale. Proszę użyć roli manala.apt do prawidłowego zarządzania tym procesem.

manala_apt_preferences:
  - maxscale@maxscale_2_4

Zależności

Brak.

Instalacja

Ansible 2+

Używając CLI Ansible Galaxy:

ansible-galaxy install manala.maxscale

Używając pliku wymagań Ansible Galaxy:

- src: manala.maxscale

Obsługa ról

Nazwa Typ Opis
maxscale restart Usługa Restart usługi Maxscale

Zmienne roli

Nazwa Domyślna wartość Typ Opis
manala_maxscale_install_packages ~ Tablica Pakiety zależności do zainstalowania
manala_maxscale_install_packages_default ['maxscale'] Tablica Domyślne pakiety zależności do zainstalowania
manala_maxscale_config_file '/etc/maxscale.cnf' String Ścieżka do pliku konfiguracyjnego
manala_maxscale_config_template 'config/_default.j2' String Ścieżka do domyślnego szablonu konfiguracyjnego
manala_maxscale_config ~ Tablica/ String Konfiguracja
manala_maxscale_configs_exclusive false Boolean Ekskluzywność konfiguracji
manala_maxscale_configs_dir '{{ manala_maxscale_config_file }}.d' String Ścieżka do katalogu konfiguracji
manala_maxscale_configs_defaults {} Tablica Ścieżka do domyślnych szablonów konfiguracji
manala_maxscale_configs [] Tablica Konfiguracje
manala_maxscale_users_file '/var/lib/maxscale/passwd' String Ścieżka do pliku użytkowników
manala_maxscale_users_template 'users/_default.j2' String Ścieżka do domyślnego szablonu użytkowników
manala_maxscale_network_users ~ Tablica Użytkownicy sieciowi (niezmieniani jeśli null)

Przykład konfiguracji (konfiguracja klastra Galera)

Szablon konfiguracji

manala_maxscale_config_template: maxscale/custom_template.j2

Konfiguracja oparta na treści

manala_maxscale_config: |
  [maxscale]
  max_auth_errors_until_block = 0

  [admin]
  type = service
  router = cli

Konfiguracja oparta na tablicy słowników (przestarzała)

manala_maxscale_config:
  - maxscale:
    - threads: auto #Dedykowany kontener
  - 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 }}" # Adres IP hosta, może być pominięty, domyślnie nasłuchuje na wszystkich interfejsach
    - 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

Konfiguracje

manala_maxscale_configs_exclusive: true
manala_maxscale_configs:
  # Opierają się na treści
  - file: foo.cnf
    config: |
      [foo-1]
      type = server
      address = foo-1
      port = 3306
      protocol = MariaDBBackend
  # Opierają się na tablicy słowników (przestarzałe)
  - file: bar.cnf
    config:
      - foo-1:
        - type: server
        - address: foo-1
        - port: 3306
        - protocol: MariaDBBackend
  # Tablica słowników (przestarzałe)
  - file: bar.cnf
    config:
      - foo-1:
        - type: server
        - address: foo-1
        - port: 3306
        - protocol: MariaDBBackend
  # Szablon cnf
  - file: template.cnf
    template: my_maxscale_template.cnf.j2
    config:
      Foo: bar
  # Upewnij się, że konfiguracja jest nieobecna
  - file: absent.cnf
    state: absent # "present" domyślnie
  # Ignoruj konfigurację
  - file: ignore.cnf
    state: ignore
  # Spłaszczone konfiguracje
  - "{{ my_custom_configs_array }}"

Użytkownicy

manala_maxscale_network_users:
  - name: foo
    password: $1$MXS$ilOCSZPnjmHjTz6B96SiJ1 # "foo" (wygenerowane przez maxpasswd)
  - name: bar
    password: $1$MXS$M.YZOr2pNTgW87l7KQWLU/ # "bar" (wygenerowane przez maxpasswd)

Przykład playbooka

- hosts: servers
  roles:
    - role: manala.maxscale

Licencja

MIT

Informacje o autorze

Manala (http://www.manala.io/)

O projekcie

Installation and configuration of Maxscale (MySQL/MariaDB Proxy)

Zainstaluj
ansible-galaxy install manala.maxscale
Licencja
Unknown
Pobrania
3.5k
Właściciel
Manala is an open source project supported by the french web agency ELAO providing advanced ansible roles for website's infrastructures and far more.