使用VSCodes#
平台最佳使用VSCode的方法是:把VSCode安装在用户自己的机器上,通过ssh通道连接AIP管理的HPC资源。
如果想在计算环境中启动基于Web访问的VSCode,最佳的方法是使用code-server。详见本文最后部分。
在本地机器(PC或工作站)上安装微软Visual Studio Code#
安装扩展#
按左侧第5个图块(把鼠标移到图块上,会显示提示Extensions)或按快捷键Ctrl+Shift+X,在左侧上方的搜索框里输入ssh,在“Remote - SSH”的扩展区按Install键。安装完毕后,左侧图标列出现第6个图标,把鼠标放上去,会显示Remote Explorer。
在AIP环境中启动可以ssh的容器作业#
若使用Singularity容器,设置环境变量指定容器镜像路径,容器挂在主机文件系统的路径
export SINGULARITY_CONTAINER=/share/containers/rocky8.sif
export SINGULARITY_BIND=/opt,/lib64,/usr,/share,/etc/profile.d
提交作业
csub sshdjob
命令输出:
Job 5366 has been submitted to the default queue [medium].
获得ssh私钥
cview 5366
命令输出:
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAy7Qccs9vs0dphX2/HD2mjUukTSyj7/HZoDlavZN/lp0j0U+o
ehO9onbNev4FMiejfE7cSke3zD+iiogpbJHjlF3ToRAevFPthBOP6zzdtMdVwS28
O0QsV5eE2fwH8QN3QiCZdUQrwYf4wdrfu/1EkcNGe1t0TohhEx3TmL+ui8KqbJA7
YVKSBTn6UydcgiY00OmhVZxEtwbo99OKaCmp6P1zqkTD+plrNIye/wGdyujs5A+w
lrPqOMLqlV3AGPH9tROQshmLbbAYrQ793PyHS8vfC/gmrxQ5mT2E4VnsPR0qsho+
thSgpOorGvEBiV+a8ZKJgfqH5Z6ZkRsS/oOAjwIDAQABAoIBAQCTPIpbighI41Mo
Q+3A8ebStlv51ExigMM2hn5KDLTqHobnIda69k3ZglmfjsAesnv+u9mKbzAwl8Za
r3SRnxmKAg+XmVk98sP49VLPS11M78/SI8asZ+hNH53NGdh7om+vAnUpR68A4dEx
/Yw+CyBm42isfTwiD31rHeH1xIbbSP0xrYbcHfvjm0HdScDuXYelYoVRH0YPwMVg
at7Gb/rvq70jzEkDqunzMhMSh9K1qg9kh9p/lheCeIB14DjJESWuTse/+acuwQT1
AiyzEsco3593KXjmsDD+FCbXeQQ1od4WHXJ9J54Y15Fq8M9LgYpn1n7v79PXNt+N
9eVmkDBRAoGBAOuiKX4G+CoK7A8bv9mi/503HUObQ67d2YVxaasp2ZG9OWRidxIg
k9wywLbJt2qETaLAyNWbI6YqjyfpKjzg4PLmzeO5D9gxV40tloiZQ65M8uHd2I4M
jeURRqvsjTTV7qzoN98VMzwwIcRRVXw28Vscs62PnP/bmsepI5jb3/WDAoGBAN1P
cIpDUMwe+LUNS99kXQYc7/GqinBOBhf6UqjhWDnPGccah5jXSZx2ig9gABRa+fz7
u4GcJ0mY4uhZYfFDtS0uCIKI0PA0Ve5JqNlz7lDwiy/3F5Y2f5ZgDY/hvriZa1LC
jDyz7Kt0ddr5+XTZHHj1PLof4D157C1zKXLIdGcFAoGAIxomOjsJjyHPZrTIkMBi
eeYy+tZPb+ZmuCVcC36Rhc99lEHC4TVvMXdyFAjaxQhulFdJ0+BnoCJo7xYiD62k
dSsC8vCntporI8Ht0e2bEoUuDY3B6+9c2AoJ0CTOKFfSVXnGkPoUhtvYu+kt5fI9
ZEhTUAC777WkSigdQHFI3McCgYEAuqgkyEisXe0FYVb8lkbE+sHvUkm/h6cXFqQn
kY62ZdOZ70cd9LgnutJz8THL/18YF9qNtGxq6nULdGLm66Fqrtdzj/0rFF1f2KHB
yt4vs46eJm9mMmh2xfLvnVoODQ5A6cVymEQ8qgOI348UagwwKojUljsKW2941oCa
Bdix7K0CgYEAtx06fRO5V+Elpmv7KoVTDLw/fKUiQKia98tUF42KVW0/WZD0iwaC
FqkrQ8wixzf3RPeaw6ppRLwQ3k9Uqi9tk7WXtPuvO1/1O7iuE9bL8OJki4cYd4QB
fRix5XjkjO9vObs1Oj7UggU/t8A1DDNH6pNSDV9LJzzMBFzfLtsK8do=
-----END RSA PRIVATE KEY-----
获得主机上的用户名,IP地址,和端口
cread 5366
命令输出:
Messages posted to jobID 5366
POST_TIME: Oct 22 11:46:10 MESSAGE: ssh -i key -p 16331 cadmin@192.168.10.10
以上的例子中,用户名为cadmin,主机IP为192.168.10.10,端口为16331。
配置远程ssh#
在安装VSCode的主机上编辑 ~/.ssh/config文件。在Windows上,这个文件是:C:\Users\你的用户名\.ssh\config,如果C:\Users\你的用户名\.ssh目录不存在,请先生成目录。
在配置前,确保获取ssh主机上的用户名ssh私钥、主机IP地址、和端口(上一步)。
把私钥的内容存放到一个文件里,如~/.ssh/key (C:\Users\你的用户名\.ssh\key`)
在~/.ssh/config文件中增加一下内容。
备注
若用notepad生成这个文件,确保生成后文件名没有后缀.txt。
Host myhost
HostName 192.168.10.10
IdentityFile ~/.ssh/key
Port 16331
User cadmin
以上:192.168.10.10是上一步获得的主机IP地址,~/.ssh/key是私钥文件路径,16331是上一步获得端口,cadmin是上一步获得的用户名。
在VSCode中连接#
点击VSCode左侧第6个图标Remote Explorer,点击REMOTES (TUNNELS/SSH) 右侧的“Refresh”图标。
把鼠标移动 “> SSH”上,点击”>“展开,就会看到配置的”myhost”,把鼠标移到”myhost”,点击后方的”->“图标开始ssh连接。
如果弹出窗口“Are you sure you want to continue?”,点击Continue。
如果连接失败,试试删除本地文件:~/.ssh/known_hosts。
连接成功后,左下方显示SSH: myhost
打开远程文件#
点击左侧第一个图标Explorer,点击“Open Folder”,选择远端主机上的目录或文件。若目录是一个git的仓库,则自动连接git。
使用code-server#
系统配置#
从官网 https://github.com/coder/code-server/releases 下载适合的.tar.gz文件,如:https://github.com/coder/code-server/releases/download/v4.89.1/code-server-4.89.1-linux-amd64.tar.gz
解压到一个目录中,如
tar xfz code-server-4.89.1-linux-amd64.tar.gz -C /share/apps
ln -s /share/apps/code-server-4.89.1-linux-amd64 /share/apps/vscode
确保所有计算节点上的SkyForm CRV服务已经运行。若未运行,可以运行host-setup –gui来自动配置,例子:
/opt/skyformai_shared/host-setup --gui
修改文件/opt/skyformai/bin/vscodejob的第20行里code-server的绝对路径,例子:
VSCODE_PATH=/share/apps/vscode/bin/code-server
使用#
用户可以提交作业:
csub vscodejob
然后用命令查询链接:
cread 作业号
经过转发的链接的例子
/aj/192.168.10.100/16000/code.html?password=84bff127820db1371b00bff51d076e17&port=16331