跳到主要内容

算盘安装手册

算盘是基于docker+kubernetes服务,采用流计算,noflo等架构开发出的一个工业App开发平台

1.环境准备

1.1.硬件环境

请参考下表,准备算盘硬件环境:

1.1.1.各版本算盘环境需求

A:典型配置要求:

节点名称节点类型节点个数CPU内存硬盘
算盘单节点版单master节点116 Core64G2TB
算盘集群版主节点18 Core32G1TB
从节点28 Core32G1TB

B:算法训练配置要求:

节点名称节点类型节点个数GPUCPU内存硬盘
算盘单节点版单master节点1nvidia(1块及以上)16 Core64G2TB
算盘集群版主节点1nvidia(0块或者1+块)8 Core32G1TB
从节点2nvidia(0块或者1+块)8 Core32G1TB

C:建议配置要求:
C1:(可访问外网):

节点名称节点类型节点个数CPU内存硬盘
算盘集群版主节点116 Core64G2TB(建议做RAID)
从节点216 Core64G2TB(建议做RAID)

C2:(不可访问外网):

节点名称节点个数CPU内存硬盘
算盘单节点版116+ Core64+G4TB(建议做RAID)

说明:
支持定制版本环境

1.1.2.其他要求:

  • 系统:CentOS7.6 64位,允许 root 访问
  • 网络:推荐使用万兆网络,并保证集群机器处于同一网段,配置 IP,NTP
  • 分区:通常情况下(磁盘没有做RAID),建议除数据磁盘外,系统盘统一分配至/根分区;无需额外挂载/var等分区。(如一共2TB的空间,可以按照500GB挂载至/分区,1.5TB挂载至/data分区的方式来划分)。
  • 操作系统:服务器语言建议使用英语/English

1.1.3.附加说明:

  • 算盘支持单节点部署 或者 集群方式部署。在私有云环境中建议使用集群版;在边缘设备环境中建议使用单节点版本。
  • 在满足硬件性能要求的前提下,以上节点可以通过物理机或者虚拟机(推荐基于kvm或vmware的虚拟机)的形式进行部署;专有云环境推荐使用ECS进行部署。
  • 在典型集群版配置下,可以并发运行8-10个算盘项目(平均每个项目5-10节点)。
  • 算盘支持离线运行和在线运行。如私有云环境内网无法使用外网,可单独说明。
  • 在典型集群版配置下,默认用于服务部署的节点有3个。支持弹性扩容,以满足计算和存储需求。

1.1.4.基础配置

假设算盘集群配置为典型配置,即有3个节点,每个节点配置为8核32G硬盘1TB
各节点IP如下:

192.168.1.101 
192.168.1.102
192.168.1.103

其中:
192.168.1.101作为算盘集群master节点
192.168.1.102,192.168.1.103作为算盘node节点

1.1.4.1.配置hosts映射

在所有节点的/etc/hosts中添加:

192.168.1.101 192.168.1.101 
192.168.1.102 192.168.1.102
192.168.1.103 192.168.1.103

1.1.2.2.配置hostname

在所有节点上,分别修改hostname为各自的ip地址,192.168.1.101--192.168.1.103

hostnamectl set-hostname {your_hostname}

1.1.2.3.配置ssh免登录

在192.168.1.101节点上执行:

ssh-keygen -t rsa -b 2048

并分别拷贝至所有节点:

ssh-copy-id 192.168.1.101 
ssh-copy-id 192.168.1.102
ssh-copy-id 192.168.1.103

1.2. 软件系统环境

1.2.1. 防火墙

安装算盘集群需要关闭服务器防火墙。如客户政策安全等原因无法满足要求需提前说明。

1.2.2. swap分区

安装算盘集群需要关闭swap分区。如客户政策安全等原因无法满足要求需提前说明。

1.2.3. SELinux

安装算盘集群需要关闭SELinux(针对CentOS操作系统)。如客户政策安全等原因无法满足要求需提前说明。

1.2.4. ipV6

安装算盘集群需要关闭ipV6相关功能。如客户政策安全等原因无法满足要求需提前说明。

1.2.5. 端口

安装算盘集群需要使用80, 443, 6443, 30000, 30002, 9877, 10250-10258等端口,如有冲突请提前说明。

1.3.安装Nvidia GPU 驱动

注:只针对含有GPU的机器,建议事先安装好Nvidia驱动
这边也提供了CentOS和Ubuntu的nvidia GPU驱动安装文档:

更多详细资料可以参考Nvidia官方文档:https://www.nvidia.com/en-us/drivers/unix/

1.4.下载算盘安装包

算盘安装包的下载链接请联系算盘项目组获取。解压之后目录如下:

2.Docker安装

注:2.1/2.2选一执行或者不执行,第3步步骤会自动执行2.2步骤

2.1.在线安装

根据机器所安装的操作系统以及版本来选择安装对应的版本(以CentOS为例):
https://docs.docker.com/engine/install/centos/

2.2.离线安装

注:
1)除了在线安装,算盘这边也提供了docker离线安装的方案。
2)在第3步,安装Kubernetes的时候也会包含docker的安装检查以及安装。
3)离线安装不一定会安装最新版本的docker。本例中以docker-ce:19.03.2版本为例。

2.2.1.离线安装步骤

cd docker/ 
chmod a+x deploy.sh
./deploy.sh

2.2.2.安装检查

执行如下命令,查看结果

docker version

如下图,结果中能够看到client和server两块内容则表示docker 安装成功。

3.Kubernetes安装

在解压安装包的根目录,执行如下命令

./deploy-cluster.sh -m 192.168.1.101 -w 192.168.1.102,192.168.1.103

3.算盘安装

在解压安装包的根目录,执行如下命令

./deploy-suanpan-full.sh --minio 192.168.1.101 --redis 192.168.1.101 --postgres 192.168.1.101 --kubeconfig=/etc/kubernetes/admin.conf --masterfile={masterfile} --workerfile={workerfile}

4.算盘运行检查

本节内容用于使用者对算盘应用的自我检查

4.1.算盘环境开机检查

注:算盘环境依赖于Linux systemd 服务,所有的对应服务:docker/Kubernetes 等会随系统自启,无须用户介入启动。

4.1.1.K8S检查:

4.1.1.1.节点检查

1, SSH 进入192.168.1.101环境
2, 终端执行命令:
kubectl get nodes 注:将会看到所有使用中的节点,请检查STATUS状态是否为“READY”。如命令本身执行出错,或者状态不为“READY”,请联系无锡雪浪云。

4.1.1.2.系统服务检查

1, SSH 进入192.168.1.101环境
2, 终端执行命令:
kubectl get pods -n kube-system 注:将会看到所有算盘环境的系统pod,请检查STATUS状态是否为“Running”。如命令本身执行出错,或者状态不为“Running”,请联系无锡雪浪云。

4.1.1.3.运行项目检查

1, SSH 进入192.168.1.101环境
2, 终端执行命令:
kubectl get pods -n user-100934 注:
1, name字段的第二个部分(如上图7628,7633)对应算盘中运行的项目。
如果没有目标项目正在运行可以进入雪浪算盘,进行部署操作。 2, 可以检查“STATUS”字段,查看是否为“Running”。
如果没有Running,说明运行出错。可以在页面上检查节点运行出错的日志。 点击“新窗口打开”/“预览”可以查看日志信息。
根据日志信息自行解决或者联系雪浪云同事。

4.1.2.算盘使用简介

4.1.2.1.概览页

1, 查看目前有多少个算法开发项目 2, 查看目前有多少个应用开发项目
3, 查看目前有多少个我的组件
4, 查看目前部署机器的资源使用情况(存储为监控/分区)
5, 查看目前运行中的算法开发项目,以及资源使用情况。
6, 查看目前运行中的应用开发项目,以及资源使用情况。 7, 查看个人相关信息

4.1.2.2.算法开发

查看算法开发模板

4.1.2.3应用开发

查看应用开发模板