OphidiaBigData.ophidia-cluster

Rol de clúster Ophidia

Este rol de Ansible despliega y configura un clúster ECAS, proporcionando un entorno completo para el análisis de datos científicos basado en el marco Ophidia, JupyterHub y un sistema de monitoreo basado en Grafana.

Introducción

Este repositorio contiene los roles de Ansible que están publicados en Ansible Galaxy: https://galaxy.ansible.com/OphidiaBigData/ophidia-cluster/

Variables del Rol

  1. cert_passwd: la contraseña para los certificados y la cuenta de usuario
  2. ophdb_passwd: la contraseña para MySQL
  3. oph_user: usuario que ejecutará el marco Ophidia
  4. oph_account_user: nombre de usuario de la cuenta de usuario de Ophidia que se creará
  5. oph_account_passwd: contraseña de la cuenta de usuario de Ophidia que se creará
  6. base_path: ruta base para la carpeta de datos compartidos
  7. io_prefix: prefijo del nombre de host de los nodos IO de Ophidia
  8. io_node_number: número de nodos IO considerados en el clúster
  9. io_hostnames: lista de nombres de host de los nodos IO de Ophidia
  10. io_cpus: número de núcleos para los nodos IO de Ophidia
  11. io_ips: lista de direcciones IP de los nodos IO de Ophidia
  12. server_hostname: nombre de host del nodo servidor de Ophidia
  13. private_server_ip: dirección IP privada del nodo servidor de Ophidia
  14. public_server_ip: dirección IP pública del nodo servidor de Ophidia
  15. nfs_subnet: subred para los nodos io-compute de Ophidia (para montaje de carpeta NFS)
  16. mysql_subnet: subred para el servidor MySQL en los nodos del clúster (para concesión de base de datos)
  17. deploy_type: tipo de despliegue ('install', 'configure' o 'complete')
  18. node_type: tipo de nodo a desplegar ('server', 'io' o 'single')
  19. user_home: ruta del directorio personal del usuario
  20. force_reinstall: bandera (falso o verdadero) para definir si la instancia debe ser actualizada cuando se ejecuta el rol una segunda vez

Dependencias

Requiere los roles grycap.nfs y grycap.slurm.

Requisitos

Requiere al menos Ansible v2.3.

Ejemplo de Playbook

Un ejemplo de playbook para instalar y configurar el clúster ECAS:

- hosts: oph-server
  pre_tasks:
   - name: recolectar hechos de oph-io
     setup:
     delegate_to: "{{ item }}"
     delegate_facts: true
     loop: "{{ groups['oph-io'] }}"

   - name: Crea el directorio compartido 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-%" }

Documentación adicional

Acerca del proyecto

Ophidia Cluster

Instalar
ansible-galaxy install OphidiaBigData.ophidia-cluster
Licencia
Unknown
Descargas
466
Propietario