ophidia-cluster

Роль кластера Ophidia

Эта роль Ansible развертывает и настраивает кластер ECAS, предоставляя полную среду для научного анализа данных на основе фреймворка Ophidia, JupyterHub и системы мониторинга на базе Grafana.

Введение

Этот репозиторий содержит роли Ansible, опубликованные в Ansible Galaxy: https://galaxy.ansible.com/OphidiaBigData/ophidia-cluster/

Переменные роли

  1. cert_passwd: пароль для сертификатов и учетной записи пользователя
  2. ophdb_passwd: пароль для MySQL
  3. oph_user: пользователь, который будет запускать фреймворк Ophidia
  4. oph_account_user: имя учетной записи пользователя Ophidia, которая будет создана
  5. oph_account_passwd: пароль учетной записи пользователя Ophidia, которая будет создана
  6. base_path: базовый путь для общей папки данных
  7. io_prefix: префикс имени хоста для узлов ввода-вывода Ophidia
  8. io_node_number: количество узлов ввода-вывода, учитываемых в кластере
  9. io_hostnames: список имен хостов узлов ввода-вывода Ophidia
  10. io_cpus: количество ядер для узлов ввода-вывода Ophidia
  11. io_ips: список IP-адресов узлов ввода-вывода Ophidia
  12. server_hostname: имя хоста узла сервера Ophidia
  13. private_server_ip: частный IP-адрес узла сервера Ophidia
  14. public_server_ip: публичный IP-адрес узла сервера Ophidia
  15. nfs_subnet: подсеть для узлов ввода-вывода Ophidia (для монтирования NFS папки)
  16. mysql_subnet: подсеть для сервера MySQL на узлах кластера (для предоставления доступа к базе данных)
  17. deploy_type: тип развертывания ('установить', 'настроить' или 'полный')
  18. node_type: тип узла для развертывания ('сервер', 'ввод-вывод' или 'одиночный')
  19. user_home: путь к домашнему каталогу пользователя
  20. force_reinstall: флаг (ложь или истина), определяющий, нужно ли обновлять экземпляр, когда роль выполняется повторно

Зависимости

Требует роли grycap.nfs и grycap.slurm.

Требования

Требуется как минимум Ansible версии 2.3.

Пример плейбука

Пример плейбука для установки и настройки кластера ECAS:

- hosts: oph-server
  pre_tasks:
   - name: сбор информации с oph-io
     setup:
     delegate_to: "{{ item }}"
     delegate_facts: true
     loop: "{{ groups['oph-io'] }}"

   - name: Создание общей директории 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-%" }

Дополнительная документация

О проекте

Ophidia Cluster

Установить
ansible-galaxy install OphidiaBigData/ansible-role-ophidia-cluster
Лицензия
Unknown
Загрузки
455
Владелец