ophidia-cluster
Роль кластера Ophidia
Эта роль Ansible развертывает и настраивает кластер ECAS, предоставляя полную среду для научного анализа данных на основе фреймворка Ophidia, JupyterHub и системы мониторинга на базе Grafana.
Введение
Этот репозиторий содержит роли Ansible, опубликованные в Ansible Galaxy: https://galaxy.ansible.com/OphidiaBigData/ophidia-cluster/
Переменные роли
- cert_passwd: пароль для сертификатов и учетной записи пользователя
- ophdb_passwd: пароль для MySQL
- oph_user: пользователь, который будет запускать фреймворк Ophidia
- oph_account_user: имя учетной записи пользователя Ophidia, которая будет создана
- oph_account_passwd: пароль учетной записи пользователя Ophidia, которая будет создана
- base_path: базовый путь для общей папки данных
- io_prefix: префикс имени хоста для узлов ввода-вывода Ophidia
- io_node_number: количество узлов ввода-вывода, учитываемых в кластере
- io_hostnames: список имен хостов узлов ввода-вывода Ophidia
- io_cpus: количество ядер для узлов ввода-вывода Ophidia
- io_ips: список IP-адресов узлов ввода-вывода Ophidia
- server_hostname: имя хоста узла сервера Ophidia
- private_server_ip: частный IP-адрес узла сервера Ophidia
- public_server_ip: публичный IP-адрес узла сервера Ophidia
- nfs_subnet: подсеть для узлов ввода-вывода Ophidia (для монтирования NFS папки)
- mysql_subnet: подсеть для сервера MySQL на узлах кластера (для предоставления доступа к базе данных)
- deploy_type: тип развертывания ('установить', 'настроить' или 'полный')
- node_type: тип узла для развертывания ('сервер', 'ввод-вывод' или 'одиночный')
- user_home: путь к домашнему каталогу пользователя
- 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: http://ophidia.cmcc.it
- Установка и настройка: http://ophidia.cmcc.it/documentation/admin/index.html
Установить
ansible-galaxy install OphidiaBigData/ansible-role-ophidia-cluster
Лицензия
Unknown
Загрузки
455
Владелец