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

  1. cert_passwd: hasło do certyfikatów i konta użytkownika
  2. ophdb_passwd: hasło do MySQL
  3. oph_user: użytkownik, który będzie uruchamiał framework Ophidia
  4. oph_account_user: nazwa użytkownika konta użytkownika Ophidia, które ma być utworzone
  5. oph_account_passwd: hasło do konta użytkownika Ophidia, które ma być utworzone
  6. base_path: podstawowa ścieżka dla folderu dzielonego danych
  7. io_prefix: prefiks nazwy hosta dla węzłów IO Ophidia
  8. io_node_number: liczba węzłów IO branych pod uwagę w klastrze
  9. io_hostnames: lista nazw hostów węzłów IO Ophidia
  10. io_cpus: liczba rdzeni dla węzłów IO Ophidia
  11. io_ips: lista adresów IP węzłów IO Ophidia
  12. server_hostname: nazwa hosta węzła serwera Ophidia
  13. private_server_ip: prywatny adres IP węzła serwera Ophidia
  14. public_server_ip: publiczny adres IP węzła serwera Ophidia
  15. nfs_subnet: podsieć dla węzłów io-compute Ophidia (do montowania folderu NFS)
  16. mysql_subnet: podsieć dla serwera MySQL na węzłach klastra (do przyznawania dostępu do bazy danych)
  17. deploy_type: typ wdrożenia ('install', 'configure' lub 'complete')
  18. node_type: typ węzła do wdrożenia ('server', 'io' lub 'single')
  19. user_home: ścieżka do katalogu domowego użytkownika
  20. 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

O projekcie

Ophidia Cluster

Zainstaluj
ansible-galaxy install OphidiaBigData.ophidia-cluster
Licencja
Unknown
Pobrania
466
Właściciel