|
|
@ -9,9 +9,9 @@ |
|
|
|
|
|
|
|
- 创建文件存储: `实验步骤 一)` |
|
|
|
- 创建云主机,并挂载文件存储:`实验步骤 二)` |
|
|
|
- 在文件存储中创建一个项目文件夹,并在学院GitLab中新建一个同步仓库:`实验步骤 三)` |
|
|
|
- 在水杉码园创建一个仓库,并下载至文件存储:`实验步骤 三)` |
|
|
|
- 创建UAI Train交互式训练任务,启动并切换成编辑模式: `实验步骤 四)` |
|
|
|
- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络:`实验步骤 五)` |
|
|
|
- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络,并将所有内容同步到水杉码园:`实验步骤 五)` |
|
|
|
|
|
|
|
## 实验要求 |
|
|
|
|
|
|
@ -86,32 +86,86 @@ sudo yum mount -t nfs4 你的文件存储IP地址:/ /mnt |
|
|
|
df -hT |
|
|
|
``` |
|
|
|
|
|
|
|
你应该看到如下图所示内容,其中 |
|
|
|
你应该看到如下图所示内容 |
|
|
|
|
|
|
|
<kbd> |
|
|
|
<img src="img/assignment6/ass6-llq.jpeg"> |
|
|
|
<img src="img/assignment7/ass7-df.png"> |
|
|
|
</kbd> |
|
|
|
|
|
|
|
#### 4)将云主机连到负载均衡器。回到前面添加服务节点的界面,输入端口80,则所有可添加的节点都会出现(以内网ip形式)。将你的云主机对应的内网ip,转移到待添加节点,点击确定。这时候显示健康检查“失败”,不用管它,我们在浏览器中输入 `http://你的负载均衡器ip`,奇迹发生了!我们也能访问flask app!!并且这时候健康检查也变成“正常”。 |
|
|
|
|
|
|
|
### 三)在水杉码园创建一个仓库,并下载至文件存储 |
|
|
|
|
|
|
|
#### 1)登录水杉在线,并进入水杉码园。创建一个仓库mnist(命名随意),创建完毕后,找到你的仓库ssh地址,备用 |
|
|
|
|
|
|
|
<kbd> |
|
|
|
<img src="img/assignment7/ass7-createrepo1.png"> |
|
|
|
</kbd> |
|
|
|
<kbd> |
|
|
|
<img src="img/assignment6/ass6-addserver.jpeg"> |
|
|
|
<img src="img/assignment7/ass7-createrepo2.png"> |
|
|
|
</kbd> |
|
|
|
<kbd> |
|
|
|
<img src="img/assignment7/ass7-sshaddr.png"> |
|
|
|
</kbd> |
|
|
|
|
|
|
|
#### 2)在云主机上安装git |
|
|
|
|
|
|
|
``` |
|
|
|
sudo yum install -y git |
|
|
|
``` |
|
|
|
|
|
|
|
#### 3)生成云主机密钥,使用密钥访问水杉码园 |
|
|
|
|
|
|
|
## `**************作业1:请将浏览器中通过负载均衡ip访问flask app的界面,以及负载均衡器中服务节点界面截图,并插入实验报告***************` |
|
|
|
``` |
|
|
|
ssh-keygen |
|
|
|
``` |
|
|
|
不用在提示符中输入任何内容,连摁回车,密钥即生成。可以在~/.ssh/下看到你生成的两个密钥,id_rsa是私钥,id_rsa.pub是公钥。如果你使用root账号,密钥在/root/.ssh/目录下。接下来我们要把公钥给码园,以后从这台云主机访问码园,云主机会把私钥提供给码园进行身份验证。 |
|
|
|
|
|
|
|
#### 5)此时负载均衡器只连接了一个服务实例,等同于单机访问。`为步骤三做准备,请在这一步制作当前云主机的镜像`。 |
|
|
|
#### 4)复制公钥的内容 |
|
|
|
|
|
|
|
``` |
|
|
|
cat ~/.ssh/id_rsa.pub |
|
|
|
``` |
|
|
|
|
|
|
|
### 三)使用ab进行http服务器压力测试 |
|
|
|
复制屏幕上出现的公钥内容 |
|
|
|
|
|
|
|
#### 1)使用步骤二)中制作的镜像,创建三个最低配置的云主机(`和之前一样,只是在云主机创建界面用“自制镜像”,并且不需要弹性ip`),可以选择三台主机一次性创建 |
|
|
|
#### 5)在码园中创建公钥,并粘贴上述公钥内容 |
|
|
|
|
|
|
|
<kbd> |
|
|
|
<img src="img/assignment6/ass6-createuh.png"> |
|
|
|
<img src="img/assignment7/ass7-key1.png"> |
|
|
|
</kbd> |
|
|
|
<kbd> |
|
|
|
<img src="img/assignment7/ass7-key2.png"> |
|
|
|
</kbd> |
|
|
|
<kbd> |
|
|
|
<img src="img/assignment7/ass7-key3.png"> |
|
|
|
</kbd> |
|
|
|
|
|
|
|
|
|
|
|
#### 6)在云主机上运行如下命令,取消码园密码访问 |
|
|
|
|
|
|
|
``` |
|
|
|
eval 'ssh-agent -s' |
|
|
|
exec ssh-agent bash |
|
|
|
ssh-add ~/.ssh/id_rsa |
|
|
|
ssh -T root@gitea.shuishan.net.cn |
|
|
|
``` |
|
|
|
|
|
|
|
如果你看到如下输出,说明密钥访问设置成功 |
|
|
|
|
|
|
|
<kbd> |
|
|
|
<img src="img/assignment7/ass7-key4.png"> |
|
|
|
</kbd> |
|
|
|
|
|
|
|
|
|
|
|
#### 1)进入/mnt,创建文件夹mnist;然后进入mnist,创建三个文件夹code,data,output。创建完毕后,mnist文件夹结构如下图所示。 |
|
|
|
|
|
|
|
<kbd> |
|
|
|
<img src="img/assignment7/ass7-mnistdir.png"> |
|
|
|
</kbd> |
|
|
|
|
|
|
|
在步骤三)和四)中,我们将代码放在code文件夹中,数据放在data中,模型放在output中 |
|
|
|
|
|
|
|
|
|
|
|
#### 2)创建完毕后,使用有外网ip的那台云主机,逐个ssh到三台内网机器上(通过内网ip),然后每台机器直接启动docker服务,并运行flask app容器(因为已经全都安装并且build好了 :smiley_cat: :smiley_cat: :smiley_cat:) |
|
|
|
|
|
|
|
<kbd> |
|
|
|
<img src="img/assignment6/ass6-intra.jpeg"> |
|
|
|