Difference between revisions of "GPU-Cluster(Docker)3.0 User Guide"

From IIIS-Systems
Jump to: navigation, search
(Created page with "清华大学交叉信息研究院GPU-Cluster(Docker)3.0用户操作指南 = 申请Docker资源 = 请登录www.shurenyun.com 注册一个账户。 请把注册的帐户...")
 
(1 申请GPU资源)
 
(132 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
  
= 申请Docker资源 =
+
= 申请GPU资源 =
  
请登录www.shurenyun.com 注册一个账户。
+
需要使用GPU资源的用户,请把如下信息发送给尹伟老师,尹伟老师的邮箱是yw@mail.tsinghua.edu.cn,尹老师建立帐号并授权后,即可使用GPU资源。
  
请把注册的帐户信息(即:注册时填写的邮箱)发送给尹伟老师,尹伟老师的邮箱是yw@mail.tsinghua.edu.cn,尹老师进行授权后,即可使用Docker资源。
+
1)帐号名
  
 +
2)姓名
  
= 使用Docker资源 =
+
3)邮箱
  
用户使用Docker(GPU-Cluster)资源,详细操作,如下:
+
4)电话
 +
 
 +
5)申请资源目的
 +
 
 +
6)使用期限
 +
 
 +
= VPN的配置及使用 =
 +
 
 +
访问GPU集群时,需要连接VPN。关于VPN的配置及使用,请参见以下链接2.1节内容:http://wiki.iiis.systems/w/index.php/OpenStack_User_Guide
 +
 
 +
= 修改帐号的密码 =
 +
 
 +
1)连接VPN,访问 http://10.1.1.1:81/ui 
 +
 
 +
2)使用申请的帐号和密码登录。登录后,单击右上角的第二个按钮,可以看到“个人中心”,在个人中心界面,用户可以修改帐号的密码。
 +
 
 +
= 使用GPU资源 =
 +
 
 +
用户使用GPU资源,操作步骤,如下:
 +
 
 +
1)连接VPN,访问 http://10.1.1.1:81/ui
 +
 
 +
2)使用申请的帐号和密码登录。登录后,单击左侧导航栏中的“应用管理”,单击右上角的“+创建应用”,在界面中点击“json模式”,单击“从文件中读取”按钮,上传json文件。
 +
 
 +
json文件的下载地址为:https://pan.baidu.com/s/1bppnZKb 上传json文件之后,请修改json文件内容第2行"id"值中的xxx(其他内容不用修改),把xxx修改成“应用名”。
 +
 
 +
应用名由用户命名,应用名中可以包含小写字母或数字,不能包含大写字母及标点符号,应用名不能重名。然后点击“创建”按钮,便可以创建应用。
 +
 
 +
应用创建后,单击左侧导航栏中的“应用管理”,在“我的应用”中,单击应用名称,即可看到应用所在主机的IP地址和端口号。
 +
 
 +
使用命令“ssh -p 端口号  VPN帐号名@IP地址” ,密码与VPN帐号的密码相同 , 即可登录。
 +
 
 +
= 注意事项 =
 +
 
 +
1)GPU集群通过docker为用户提供GPU资源,使用docker时,请把重要数据存放在用户的家目录下,即“/home/用户名”目录,该目录挂接ceph存储系统。即便容器出现问题,存放在该目录下的数据不会丢失。
 +
 
 +
2)用户基于基础镜像启动容器后,在容器中安装了新软件或搭建了实验环境,在更新或扩展或重启容器时,用户自己安装的软件或实验环境会被自动清除。如果用户希望保留自己安装的软件或实验环境,请参见本文档“自定义镜像”内容。
 +
 
 +
3)用户基于基础镜像启动容器后,在容器中安装了新软件或搭建了实验环境,如果容器所在的物理服务器关机或重启,用户自己安装的软件或实验环境会被自动清除。如果用户希望保留自己安装的软件或实验环境,请参见本文档“自定义镜像”内容。
 +
 
 +
= 自定义镜像 =
 +
 
 +
1)用户什么时候需要自定义镜像?
 +
 
 +
用户基于基础镜像启动容器,并在容器中配置了实验环境,希望再启一个容器,容器中带有自己的实验环境,此时需要用到“自定义镜像”。
 +
 
 +
用户基于基础镜像启动容器,并在容器中安装了软件或配置了实验环境,在更新或扩展容器时,容器会删除用户安装的软件或实验环境,恢复到基础镜像提供的系统状态。如果用户希望
 +
 
 +
保留自己安装的软件或实验环境,需要用到自定义镜像。
 +
 
 +
2)制作自定义镜像的步骤
 +
 
 +
用户在容器环境内(用户发布应用所对应的环境),依次执行如下命令:
 +
 
 +
1> 登录镜像仓库:sudo  docker  login  10.1.0.180 使用VPN帐号名和VPN帐号的密码进行登录,当出现Login Succeeded提示,说明登录成功。
 +
 
 +
2> 基于当前容器制作镜像:先关闭autofs服务,之后制作自定义镜像,最后开启autofs服务。
 +
 
 +
sudo /etc/init.d/autofs stop
 +
 
 +
sudo  docker  commit  容器主机名  10.1.0.180/项目名/镜像ID:镜像tag   
 +
 
 +
上述docker commit命令中的“容器主机名”,用户可以执行hostname命令,进行查看;命令中的“项目名”需要用户自己在镜像仓库中创建项目,操作为:使用浏览器访问10.1.0.180,
 +
 
 +
使用VPN帐号和密码登录,在“项目”界面,选择“我的项目”或“公开项目”,然后点击“新增项目”按钮创建项目,创建项目后,点击项目的“公开”属性,决定是否将该项目公开,如下图;
 +
 
 +
命令中的镜像ID,用户自己命名,只要不重名即可;命令中的镜像tag,用户自己定义,一般写成latest。
 +
 
 +
[[Image:harbor.jpg]]
 +
 
 +
sudo /etc/init.d/autofs start
 +
 
 +
3> 将产生的镜像push到镜像仓库:sudo docker push 10.1.0.180/项目名/镜像ID:镜像tag     
 +
 
 +
上述命令成功后,用户可以通过浏览器登录到10.1.0.180,在相应项目下查看刚刚上传的镜像。
 +
 
 +
3)使用自定义镜像启动容器
 +
 
 +
然后你就可以回到docker管理网页http://10.1.1.1:81  去运行你自己制作的镜像了。
 +
 
 +
修该json文件第23行,"image": "10.1.0.180/alluxio/ubuntu_14.04:latest",把10.1.0.180/alluxio/ubuntu_14.04_genaral:latest替换成用户的自定义镜像,即10.1.0.180/项目名/镜像ID:镜像tag,使用该json文件发布应用即可。
 +
 
 +
= 访问容器提供的服务 =
 +
 
 +
如何从用户终端上访问容器中提供的服务?
 +
 
 +
下面以web服务进行说明,用户可以根据该说明,修改相关设置,实现访问其他服务的功能。比如用户希望访问容器提供的web服务,web端口号为80,则操作步骤为:
 +
 
 +
在json文件第39行"portMappings"部分,加入80端口映射内容,见下例
 +
  "portMappings": [
 +
                {
 +
                    "containerPort": 22,
 +
                    "hostPort": 0,
 +
                    "servicePort": 0,
 +
                    "protocol": "tcp"
 +
                },
 +
                {
 +
                    "containerPort": 80,
 +
                    "hostPort": 0,
 +
                    "servicePort": 0,
 +
                    "protocol": "tcp"
 +
                }
 +
            ],
 +
 
 +
基于该json文件发布应用,建立应用后,在“应用管理”界面,能看到刚发布的应用对应的端口,第一个端口为ssh对应的端口,第二个端口为web对应的端口。见下图:
 +
 
 +
如果用户希望查看端口的映射关系,可以单击实例ID,查看详情。
 +
 
 +
下图例子中,应用发布在IP地址为10.1.0.138服务器上,web对应的端口为31956,则:用户在浏览器中输入10.1.0.138:31956 即可访问容器提供的web服务。
 +
 
 +
[[Image:portmap.jpg]]
 +
 
 +
= 常见问题及解决办法 =
 +
 
 +
1)用户在容器中使用python时,执行import操作,会提示无法找到模块,比如import caffe时,提示:ImportError: No module named caffe
 +
 
 +
解决办法:
 +
 
 +
sudo  -i
 +
 
 +
python
 +
 
 +
>>> import caffe
 +
 
 +
2)用户在容器,使用apt-get install安装软件时,如果下载速度不高,则可以考虑更换apt源。容器中提供的apt源为中科大提供的ubuntu源。
 +
 
 +
cp  /etc/apt/sources.list /etc/apt/sources.list.bak
 +
 
 +
vi  /etc/apt/sources.list 更换源
 +
 
 +
apt-get update
 +
 
 +
常用apt源列表:
 +
 
 +
1> 阿里提供的ubuntu源
 +
 
 +
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
 +
 
 +
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
 +
 
 +
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
 +
 
 +
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
 +
 
 +
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
 +
 
 +
2>163提供的ubuntu源
 +
 
 +
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
 +
 
 +
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
 +
 
 +
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
 +
 
 +
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
 +
 
 +
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
 +
 
 +
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
 +
 
 +
3>ubuntu官方源
 +
 
 +
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
 +
 
 +
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
 +
 
 +
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
 +
 
 +
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
 +
 
 +
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
 +
 
 +
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
 +
 
 +
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
 +
 
 +
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
 +
 
 +
deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
 +
 
 +
deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
 +
 
 +
Ubuntu官方提供的其他软件(第三方闭源软件等):
 +
 
 +
deb http://archive.canonical.com/ubuntu/ trusty partner
 +
 
 +
deb http://extras.ubuntu.com/ubuntu/ trusty main
 +
 
 +
3)在发布的应用中,执行apt-get update时,提示如下错误:
 +
 
 +
W: GPG error: http://developer.download.nvidia.com  Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
 +
 
 +
解决办法为:
 +
 
 +
执行如下命令添加公钥
 +
 
 +
wget -qO - http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub | sudo apt-key add -
 +
 
 +
然后再执行apt-get update
 +
 
 +
4)用户在安装软件时,如果提示访问https站点有问题,或server certificate verification failed,请修改/etc/apt/sources.list文件,修改源。然后执行命令apt-get update

Latest revision as of 10:41, 14 May 2018

清华大学交叉信息研究院GPU-Cluster(Docker)3.0用户操作指南


申请GPU资源

需要使用GPU资源的用户,请把如下信息发送给尹伟老师,尹伟老师的邮箱是yw@mail.tsinghua.edu.cn,尹老师建立帐号并授权后,即可使用GPU资源。

1)帐号名

2)姓名

3)邮箱

4)电话

5)申请资源目的

6)使用期限

VPN的配置及使用

访问GPU集群时,需要连接VPN。关于VPN的配置及使用,请参见以下链接2.1节内容:http://wiki.iiis.systems/w/index.php/OpenStack_User_Guide

修改帐号的密码

1)连接VPN,访问 http://10.1.1.1:81/ui

2)使用申请的帐号和密码登录。登录后,单击右上角的第二个按钮,可以看到“个人中心”,在个人中心界面,用户可以修改帐号的密码。

使用GPU资源

用户使用GPU资源,操作步骤,如下:

1)连接VPN,访问 http://10.1.1.1:81/ui

2)使用申请的帐号和密码登录。登录后,单击左侧导航栏中的“应用管理”,单击右上角的“+创建应用”,在界面中点击“json模式”,单击“从文件中读取”按钮,上传json文件。

json文件的下载地址为:https://pan.baidu.com/s/1bppnZKb 上传json文件之后,请修改json文件内容第2行"id"值中的xxx(其他内容不用修改),把xxx修改成“应用名”。

应用名由用户命名,应用名中可以包含小写字母或数字,不能包含大写字母及标点符号,应用名不能重名。然后点击“创建”按钮,便可以创建应用。

应用创建后,单击左侧导航栏中的“应用管理”,在“我的应用”中,单击应用名称,即可看到应用所在主机的IP地址和端口号。

使用命令“ssh -p 端口号 VPN帐号名@IP地址” ,密码与VPN帐号的密码相同 , 即可登录。

注意事项

1)GPU集群通过docker为用户提供GPU资源,使用docker时,请把重要数据存放在用户的家目录下,即“/home/用户名”目录,该目录挂接ceph存储系统。即便容器出现问题,存放在该目录下的数据不会丢失。

2)用户基于基础镜像启动容器后,在容器中安装了新软件或搭建了实验环境,在更新或扩展或重启容器时,用户自己安装的软件或实验环境会被自动清除。如果用户希望保留自己安装的软件或实验环境,请参见本文档“自定义镜像”内容。

3)用户基于基础镜像启动容器后,在容器中安装了新软件或搭建了实验环境,如果容器所在的物理服务器关机或重启,用户自己安装的软件或实验环境会被自动清除。如果用户希望保留自己安装的软件或实验环境,请参见本文档“自定义镜像”内容。

自定义镜像

1)用户什么时候需要自定义镜像?

用户基于基础镜像启动容器,并在容器中配置了实验环境,希望再启一个容器,容器中带有自己的实验环境,此时需要用到“自定义镜像”。

用户基于基础镜像启动容器,并在容器中安装了软件或配置了实验环境,在更新或扩展容器时,容器会删除用户安装的软件或实验环境,恢复到基础镜像提供的系统状态。如果用户希望

保留自己安装的软件或实验环境,需要用到自定义镜像。

2)制作自定义镜像的步骤

用户在容器环境内(用户发布应用所对应的环境),依次执行如下命令:

1> 登录镜像仓库:sudo docker login 10.1.0.180 使用VPN帐号名和VPN帐号的密码进行登录,当出现Login Succeeded提示,说明登录成功。

2> 基于当前容器制作镜像:先关闭autofs服务,之后制作自定义镜像,最后开启autofs服务。

sudo /etc/init.d/autofs stop

sudo docker commit 容器主机名 10.1.0.180/项目名/镜像ID:镜像tag

上述docker commit命令中的“容器主机名”,用户可以执行hostname命令,进行查看;命令中的“项目名”需要用户自己在镜像仓库中创建项目,操作为:使用浏览器访问10.1.0.180,

使用VPN帐号和密码登录,在“项目”界面,选择“我的项目”或“公开项目”,然后点击“新增项目”按钮创建项目,创建项目后,点击项目的“公开”属性,决定是否将该项目公开,如下图;

命令中的镜像ID,用户自己命名,只要不重名即可;命令中的镜像tag,用户自己定义,一般写成latest。

Harbor.jpg

sudo /etc/init.d/autofs start

3> 将产生的镜像push到镜像仓库:sudo docker push 10.1.0.180/项目名/镜像ID:镜像tag

上述命令成功后,用户可以通过浏览器登录到10.1.0.180,在相应项目下查看刚刚上传的镜像。

3)使用自定义镜像启动容器

然后你就可以回到docker管理网页http://10.1.1.1:81 去运行你自己制作的镜像了。

修该json文件第23行,"image": "10.1.0.180/alluxio/ubuntu_14.04:latest",把10.1.0.180/alluxio/ubuntu_14.04_genaral:latest替换成用户的自定义镜像,即10.1.0.180/项目名/镜像ID:镜像tag,使用该json文件发布应用即可。

访问容器提供的服务

如何从用户终端上访问容器中提供的服务?

下面以web服务进行说明,用户可以根据该说明,修改相关设置,实现访问其他服务的功能。比如用户希望访问容器提供的web服务,web端口号为80,则操作步骤为:

在json文件第39行"portMappings"部分,加入80端口映射内容,见下例

 "portMappings": [
               {
                   "containerPort": 22,
                   "hostPort": 0,
                   "servicePort": 0,
                   "protocol": "tcp"
               },
               {
                   "containerPort": 80,
                   "hostPort": 0,
                   "servicePort": 0,
                   "protocol": "tcp"
               } 
           ],

基于该json文件发布应用,建立应用后,在“应用管理”界面,能看到刚发布的应用对应的端口,第一个端口为ssh对应的端口,第二个端口为web对应的端口。见下图:

如果用户希望查看端口的映射关系,可以单击实例ID,查看详情。

下图例子中,应用发布在IP地址为10.1.0.138服务器上,web对应的端口为31956,则:用户在浏览器中输入10.1.0.138:31956 即可访问容器提供的web服务。

Portmap.jpg

常见问题及解决办法

1)用户在容器中使用python时,执行import操作,会提示无法找到模块,比如import caffe时,提示:ImportError: No module named caffe

解决办法:

sudo -i

python

>>> import caffe

2)用户在容器,使用apt-get install安装软件时,如果下载速度不高,则可以考虑更换apt源。容器中提供的apt源为中科大提供的ubuntu源。

cp /etc/apt/sources.list /etc/apt/sources.list.bak

vi /etc/apt/sources.list 更换源

apt-get update

常用apt源列表:

1> 阿里提供的ubuntu源

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

2>163提供的ubuntu源

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

3>ubuntu官方源

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse

Ubuntu官方提供的其他软件(第三方闭源软件等):

deb http://archive.canonical.com/ubuntu/ trusty partner

deb http://extras.ubuntu.com/ubuntu/ trusty main

3)在发布的应用中,执行apt-get update时,提示如下错误:

W: GPG error: http://developer.download.nvidia.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80

解决办法为:

执行如下命令添加公钥

wget -qO - http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub | sudo apt-key add -

然后再执行apt-get update

4)用户在安装软件时,如果提示访问https站点有问题,或server certificate verification failed,请修改/etc/apt/sources.list文件,修改源。然后执行命令apt-get update