OphidiaBigData.ophidia-cluster

Rôle de cluster Ophidia

Ce rôle Ansible déploie et configure un cluster ECAS, fournissant un environnement complet pour l'analyse des données scientifiques basé sur le cadre Ophidia, JupyterHub et un système de surveillance basé sur Grafana.

Introduction

Ce dépôt contient des rôles Ansible publiés sur Ansible Galaxy : https://galaxy.ansible.com/OphidiaBigData/ophidia-cluster/

Variables de rôle

  1. cert_passwd : le mot de passe pour les certificats et le compte utilisateur
  2. ophdb_passwd : le mot de passe pour MySQL
  3. oph_user : utilisateur qui exécutera le cadre Ophidia
  4. oph_account_user : nom d'utilisateur du compte utilisateur Ophidia à créer
  5. oph_account_passwd : mot de passe du compte utilisateur Ophidia à créer
  6. base_path : chemin de base pour le dossier de données partagées
  7. io_prefix : préfixe du nom d'hôte des nœuds IO d'Ophidia
  8. io_node_number : nombre de nœuds IO considérés dans le cluster
  9. io_hostnames : liste des noms d'hôtes des nœuds IO d'Ophidia
  10. io_cpus : nombre de cœurs pour les nœuds IO d'Ophidia
  11. io_ips : liste des adresses IP des nœuds IO d'Ophidia
  12. server_hostname : nom d'hôte du nœud serveur Ophidia
  13. private_server_ip : adresse IP privée du nœud serveur Ophidia
  14. public_server_ip : adresse IP publique du nœud serveur Ophidia
  15. nfs_subnet : sous-réseau pour les nœuds io-compute d'Ophidia (pour le montage de dossier NFS)
  16. mysql_subnet : sous-réseau pour le serveur MySQL sur les nœuds du cluster (pour l'octroi de base de données)
  17. deploy_type : type de déploiement ('install', 'configure' ou 'complete')
  18. node_type : type de nœud à déployer ('server', 'io' ou 'single')
  19. user_home : chemin du répertoire personnel de l'utilisateur
  20. force_reinstall : drapeau (false ou true) pour définir si l'instance doit être mise à jour lorsque le rôle est exécuté une seconde fois

Dépendances

Nécessite les rôles grycap.nfs et grycap.slurm.

Exigences

Nécessite au moins Ansible v2.3.

Exemple de Playbook

Un exemple de playbook pour installer et configurer le cluster ECAS :

- hosts: oph-server
  pre_tasks:
   - name: collecter les faits depuis oph-io
     setup:
     delegate_to: "{{ item }}"
     delegate_facts: true
     loop: "{{ groups['oph-io'] }}"

   - name: Créer le répertoire partagé NFS
     file: path=/data state=directory owner=root group=root

  roles:
     - { role: 'OphidiaBigData.ophidia-cluster', node_type: 'server', deploy_type: 'complete', server_hostname: "{{ansible_hostname}}", io_hostnames: "{{ groups['oph-io']|map('extract', hostvars, 'ansible_hostname')|list }}", io_ips: "{{ groups['oph-io']|map('extract', hostvars, ['ansible_default_ipv4','address'])|list if 'oph-io' in groups else []}}", private_server_ip: "{{ ansible_default_ipv4.address }}", public_server_ip: "{{ ansible_default_ipv4.address }}", nfs_subnet: 'oph-*', mysql_subnet: 'oph-%'}

- hosts: oph-io
  roles:
     - { role: 'OphidiaBigData.ophidia-cluster', node_type: 'io', deploy_type: 'complete', server_hostname: "{{ hostvars['oph-server']['ansible_hostname'] }}", io_hostnames: "{{ groups['oph-io']|map('extract', hostvars, 'ansible_hostname')|list if 'oph-io' in groups else []}}", io_ips: "{{ groups['oph-io']|map('extract', hostvars, ['ansible_default_ipv4', 'address'])|list if 'oph-io' in groups else []}}", private_server_ip: "{{ hostvars['oph-server']['ansible_default_ipv4']['address'] }}", public_server_ip: "{{ hostvars['oph-server']['ansible_default_ipv4']['address'] }}", nfs_subnet: "oph-*", mysql_subnet: "oph-%" }

Documentation complémentaire

À propos du projet

Ophidia Cluster

Installer
ansible-galaxy install OphidiaBigData.ophidia-cluster
Licence
Unknown
Téléchargements
466
Propriétaire