OphidiaBigData.ophidia-cluster
Rola klastra Ophidia
Ta rola Ansible wdraża i konfiguruje klaster ECAS, zapewniając pełne środowisko do analizy danych naukowych oparte na frameworku Ophidia, JupyterHub oraz systemie monitorowania opartym na Grafana.
Wprowadzenie
To repozytorium zawiera role Ansible, które są publikowane w Ansible Galaxy: https://galaxy.ansible.com/OphidiaBigData/ophidia-cluster/
Zmienne roli
- cert_passwd: hasło do certyfikatów i konta użytkownika
- ophdb_passwd: hasło do MySQL
- oph_user: użytkownik, który będzie uruchamiał framework Ophidia
- oph_account_user: nazwa użytkownika konta użytkownika Ophidia, które ma być utworzone
- oph_account_passwd: hasło do konta użytkownika Ophidia, które ma być utworzone
- base_path: podstawowa ścieżka dla folderu dzielonego danych
- io_prefix: prefiks nazwy hosta dla węzłów IO Ophidia
- io_node_number: liczba węzłów IO branych pod uwagę w klastrze
- io_hostnames: lista nazw hostów węzłów IO Ophidia
- io_cpus: liczba rdzeni dla węzłów IO Ophidia
- io_ips: lista adresów IP węzłów IO Ophidia
- server_hostname: nazwa hosta węzła serwera Ophidia
- private_server_ip: prywatny adres IP węzła serwera Ophidia
- public_server_ip: publiczny adres IP węzła serwera Ophidia
- nfs_subnet: podsieć dla węzłów io-compute Ophidia (do montowania folderu NFS)
- mysql_subnet: podsieć dla serwera MySQL na węzłach klastra (do przyznawania dostępu do bazy danych)
- deploy_type: typ wdrożenia ('install', 'configure' lub 'complete')
- node_type: typ węzła do wdrożenia ('server', 'io' lub 'single')
- user_home: ścieżka do katalogu domowego użytkownika
- force_reinstall: flaga (fałsz lub prawda) definiująca, czy instancja powinna być aktualizowana podczas drugiego wykonania roli
Zależności
Wymaga ról grycap.nfs i grycap.slurm.
Wymagania
Wymaga co najmniej Ansible w wersji 2.3.
Przykład pliku playbook
Przykład playbooka do zainstalowania i skonfigurowania klastra ECAS:
- hosts: oph-server
pre_tasks:
- name: zbiera dane z oph-io
setup:
delegate_to: "{{ item }}"
delegate_facts: true
loop: "{{ groups['oph-io'] }}"
- name: Tworzy współdzielony katalog 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-%" }
Dalsza dokumentacja
- Ophidia: http://ophidia.cmcc.it
- Instalacja i konfiguracja: http://ophidia.cmcc.it/documentation/admin/index.html
Zainstaluj
ansible-galaxy install OphidiaBigData.ophidia-cluster
Licencja
Unknown
Pobrania
466
Właściciel