diff --git a/HowtoMySQL/Orchestrator.md b/HowtoMySQL/Orchestrator.md new file mode 100644 index 00000000..f627c71b --- /dev/null +++ b/HowtoMySQL/Orchestrator.md @@ -0,0 +1,79 @@ +--- +categories: databases +title: Howto Orchestrator : Haute disponibilité et outil de gestion de la réplication. +--- + +* Github Orchestrator : +* Documentation Orchestrator : +* Dépot packet Debian : + +Orchestrator est un outil de gestion de la haute disponibilité et de la réplication MySQL / MariaDB. +Il s'exécute en tant que service et fourni un accès en ligne de commande, une API HTTP, et un interface web. + +## Installation + +Sur Debian on préconise l'installation du paquet .deb via le dépot officiel d'Orchestrator : + +~~~ +# apt install debian-archive-keyring curl gnupg apt-transport-https +# curl -L https://packagecloud.io/github/orchestrator/gpgkey > /etc/apt/trusted.gpg.d/orchestrator.asc +~~~ + +En Debian 11 on utlise le dépôt buster, car le dépôt bullseye n'existe pas encore, mais le paquets est compatible. +A adapter en fontion de la version de Debian, on utilise ce dépôt le fichier `/etc/apt/sources.list.d/github_orchestrator.list` + +~~~ +deb https://packagecloud.io/github/orchestrator/debian/ buster main +deb-src https://packagecloud.io/github/orchestrator/debian/ buster main +~~~ + +Puis on recharge la liste des dépots et on installe les paquets : + +~~~ +# apt update +# apt install orchestrator orchestrator-cli +~~~ + +## Configuration + +### Configurer le serveur MariaDB Backend + +Orchestrator a besoin d'une base de données de Backend pour stocker l'état du cluster, on préconise de créer la base de donnée orchestrator sur une instance MariaDB en dehors du cluster de réplication, sur une machine qui sert de proxy par exemple : + +~~~sql +CREATE DATABASE IF NOT EXISTS orchestrator; +CREATE USER 'orchestrator'@'127.0.0.1' IDENTIFIED BY 'password'; +GRANT ALL PRIVILEGES ON `orchestrator`.* TO 'orchestrator'@'127.0.0.1'; +~~~ + +Le fichier de configuration d'Orchestrator se trouve dans `/etc/orchestrator.conf.json`, le packet inclu un fichier nommée `orchestrator.conf.json.sample` avecune configuration de base, on peux se servir de ce fichier pour créer le fichier de configuration de base : + +~~~ +cp /usr/local/orchestrator/orchestrator-sample.conf.json /etc/orchestrator.conf.json +~~~ + +Editer les variables suivante dans le fichier `/etc/orchestrator.conf.json`, pour configurer le backend d'Orchestrator vers l'instance MariaDB : + +~~~ +... +"MySQLOrchestratorHost": "127.0.0.1", +"MySQLOrchestratorPort": 3306, +"MySQLOrchestratorDatabase": "orchestrator", +"MySQLOrchestratorUser": "orchestrator", +"MySQLOrchestratorPassword": "password", +... +~~~ + +### Configuration d'Ochestrator vers vos serveurs MariaDB + +Pour que Ochestrator detecte votre topologie de réplication de votre cluster MariaDB, il doit avoir un compte sur chaque serveur du cluster,il doit s'agir du même compte pour tout les serveurs du cluster. +Sur le serveur primaire, on créer l'utilisateur comme ceci : + +~~~sql +CREATE USER 'orchestrator_client'@'orchestrator_host' IDENTIFIED BY 'password'; +GRANT SUPER, PROCESS, REPLICATION SLAVE, RELOAD ON *.* TO 'orchestrator_client'@'orchestrator_host'; +GRANT SELECT ON mysql.slave_master_info TO 'orchestrator_client'@'orchestrator_host'; +GRANT SELECT ON ndbinfo.processes TO 'orchestrator_client'@'orchestrator_host'; -- seulement pour un cluster NDB +~~~ + +