OphidiaBigData.ophidia-cluster

Ophidia 集群角色

这个 ansible 角色部署并配置一个 ECAS 集群,为基于 Ophidia 框架、JupyterHub 和基于 Grafana 的监控系统的科学数据分析提供完整的环境。

简介

这个库包含已发布在 Ansible Galaxy 上的 Ansible 角色: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 IO 节点的主机名前缀
  8. io_node_number:集群中考虑的 IO 节点数量
  9. io_hostnames:Ophidia IO 节点的主机名列表
  10. io_cpus:Ophidia IO 节点的核心数
  11. io_ips:Ophidia IO 节点的 IP 地址列表
  12. server_hostname:Ophidia 服务器节点的主机名
  13. private_server_ip:Ophidia 服务器节点的私有 IP 地址
  14. public_server_ip:Ophidia 服务器节点的公共 IP 地址
  15. nfs_subnet:Ophidia io-compute 节点的子网(用于 NFS 文件夹挂载)
  16. mysql_subnet:集群节点上 MySQL 服务器的子网(用于数据库授权)
  17. deploy_type:部署类型('install'、'configure' 或 'complete')
  18. node_type:要部署的节点类型('server'、'io' 或 'single')
  19. user_home:用户主目录的路径
  20. force_reinstall:标志(false 或 true),用于定义在角色第二次执行时是否更新实例

依赖关系

需要 grycap.nfs 和 grycap.slurm 角色。

要求

需要至少 Ansible v2.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.ophidia-cluster
许可证
Unknown
下载
466
拥有者