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
- cert_passwd : le mot de passe pour les certificats et le compte utilisateur
- ophdb_passwd : le mot de passe pour MySQL
- oph_user : utilisateur qui exécutera le cadre Ophidia
- oph_account_user : nom d'utilisateur du compte utilisateur Ophidia à créer
- oph_account_passwd : mot de passe du compte utilisateur Ophidia à créer
- base_path : chemin de base pour le dossier de données partagées
- io_prefix : préfixe du nom d'hôte des nœuds IO d'Ophidia
- io_node_number : nombre de nœuds IO considérés dans le cluster
- io_hostnames : liste des noms d'hôtes des nœuds IO d'Ophidia
- io_cpus : nombre de cœurs pour les nœuds IO d'Ophidia
- io_ips : liste des adresses IP des nœuds IO d'Ophidia
- server_hostname : nom d'hôte du nœud serveur Ophidia
- private_server_ip : adresse IP privée du nœud serveur Ophidia
- public_server_ip : adresse IP publique du nœud serveur Ophidia
- nfs_subnet : sous-réseau pour les nœuds io-compute d'Ophidia (pour le montage de dossier NFS)
- mysql_subnet : sous-réseau pour le serveur MySQL sur les nœuds du cluster (pour l'octroi de base de données)
- deploy_type : type de déploiement ('install', 'configure' ou 'complete')
- node_type : type de nœud à déployer ('server', 'io' ou 'single')
- user_home : chemin du répertoire personnel de l'utilisateur
- 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
- Ophidia : http://ophidia.cmcc.it
- Installation et configuration : http://ophidia.cmcc.it/documentation/admin/index.html
Installer
ansible-galaxy install OphidiaBigData.ophidia-cluster
Licence
Unknown
Téléchargements
466
Propriétaire