OphidiaBigData.ophidia-cluster
Ophidia Cluster Rolle
Diese Ansible-Rolle installiert und konfiguriert ein ECAS-Cluster und bietet eine vollständige Umgebung für die wissenschaftliche Datenanalyse basierend auf dem Ophidia-Framework, JupyterHub und einem Grafana-basierten Überwachungssystem.
Einführung
Dieses Repository enthält Ansible-Rollen, die auf Ansible Galaxy veröffentlicht sind: https://galaxy.ansible.com/OphidiaBigData/ophidia-cluster/
Rollenvariablen
- cert_passwd: das Passwort für die Zertifikate und das Benutzerkonto
- ophdb_passwd: das Passwort für MySQL
- oph_user: Benutzer, der das Ophidia-Framework ausführt
- oph_account_user: Benutzername des zu erstellenden Ophidia-Benutzerkontos
- oph_account_passwd: Passwort des zu erstellenden Ophidia-Benutzerkontos
- base_path: Basisverzeichnis für den gemeinsamen Datenordner
- io_prefix: Hostnamen-Präfix der Ophidia-I/O-Knoten
- io_node_number: Anzahl der I/O-Knoten im Cluster
- io_hostnames: Liste der Hostnamen der Ophidia-I/O-Knoten
- io_cpus: Anzahl der Kerne für Ophidia I/O-Knoten
- io_ips: Liste der IP-Adressen der Ophidia-I/O-Knoten
- server_hostname: Hostname des Ophidia-Serverknotens
- private_server_ip: private IP-Adresse des Ophidia-Serverknotens
- public_server_ip: öffentliche IP-Adresse des Ophidia-Serverknotens
- nfs_subnet: Subnetz für die Ophidia I/O-Compute-Knoten (für NFS-Ordnerspeicherung)
- mysql_subnet: Subnetz für den MySQL-Server auf den Clusterknoten (für Datenbankberechtigungen)
- deploy_type: Art der Bereitstellung ('installieren', 'konfigurieren' oder 'komplett')
- node_type: Art des bereitzustellenden Knotens ('server', 'io' oder 'einzel')
- user_home: Pfad des Benutzer-Home-Verzeichnisses
- force_reinstall: Flag (falsch oder wahr), das definiert, ob die Instanz aktualisiert werden soll, wenn die Rolle ein zweites Mal ausgeführt wird
Abhängigkeiten
Benötigt die Rollen grycap.nfs und grycap.slurm.
Anforderungen
Benötigt mindestens Ansible v2.3.
Beispiel Playbook
Ein Beispiel für ein Playbook zur Installation und Konfiguration des ECAS-Clusters:
- hosts: oph-server
pre_tasks:
- name: Fakten von oph-io sammeln
setup:
delegate_to: "{{ item }}"
delegate_facts: true
loop: "{{ groups['oph-io'] }}"
- name: Erstellt NFS-Shared-Verzeichnis
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-%" }
Weitere Dokumentation
- Ophidia: http://ophidia.cmcc.it
- Installation und Konfiguration: http://ophidia.cmcc.it/documentation/admin/index.html
Installieren
ansible-galaxy install OphidiaBigData.ophidia-cluster
Lizenz
Unknown
Downloads
466
Besitzer