VNC和SSH访问门户

VNC和SSH访问门户是利用AIP REST API服务认证用户,协助用户在计算主机上提交和管理VNC桌面作业或者SSH作业的web门户。

安装

警告

安装由系统管理员用root账号执行。安装VNC和SSH访问门户自动在同一台主机上安装AIP的REST API服务:aiprestd。

如果在安装有Web门户的主机上,这个软件自动安装到/var/www/html/desktop下,用户可以通过https://<门户主机>/desktop访问。

  1. 选择一台AIP的登录计算主机或登录主机。如果这台主机是Web门户主机,跳过下一步。

  2. 安装nginx和httpd(或apache2)。

    在EL上:

    yum install -y httpd nginx
    

    在Ubuntu上:

    apt install apache2 nginx
    
  3. 在AIP包解压的目录中,运行vncportal-install脚本:

    ./vncportal-install
    
  4. 在AIP集群中有一个名为vnc的队列,这个队列中的主机是可以运行VNC或ssh作业的主机。如果是VNC主机,确保主机在做API配置时使用 脚本:host-setup --gui

用户VNC客户端

VNC门户提供浏览器方式访问VNC,用户也可以选择使用VNC客户端连接,客户端的图形效果略好。

VNC客户端可以用SkyForm CRV可以端直接访问桌面。AIP的安装包里带了SkyForm CRV Windows的软件,用户 可以点击“下载远程桌面客户端”,展开压缩包,安装桌面客户端。

登录

用浏览器连接到VNC和SSH访问主机 https://portal_ip*或者https://*portal_ip/desktop。

以操作系统中的用户和密码登录。

../_images/vnc1.png

启动VNC桌面

点击蓝色的“新建远程桌面”,选择桌面资源规格,选择“提交”键启动一个桌面。

../_images/vnc2.png

如果系统中有资源可以运行VNC桌面,几秒后,“客户端”和“浏览器访问”两个按钮就可以选择使用, 也可以下载文件后用其他VNC客户端、如RealVNC打开下载的文件连接桌面。

../_images/vnc3.png

点击“浏览器访问”在浏览器中弹出一个标签页连接到VNC桌面,或者点击“客户端”打开远程桌面客户端。

../_images/vnc5.png

关闭桌面可以在VNC桌面里面选择logout,或者在门户里面按红色“销毁”按钮。

启动ssh访问

点击绿色的“新建ssh访问”,选则资源,选择“提交”键启动一个ssh访问。

../_images/vnc6.png

如果系统中有资源可以运行ssh访问,几秒后,“下载ssh私钥”和“ssh连接命令”两个按钮就可以 使用。

../_images/vnc7.png

系统为每个ssh访问生成一个私钥。只有使用这个私钥才可以访问。

备注

门户中生成的ssh访问不能使用用户密码访问。

  1. 点击“下载ssh私钥”下载文件key.pem。下载后的密钥保存在一个目录中。

  2. 点击“ssh连接命令”,可以选择“拷贝”按钮拷贝命令行。

    ../_images/vnc8.png
  3. 打开Windows的cmd或powershell终端。把当前目录切换到下载key.pem的目录中,粘贴上一个步骤拷贝的命令,连接ssh

    ssh -i key.pem -p 16332 cadmin@192.168.10.10
    

VNC桌面和ssh会话的资源使用控制

VNC桌面和ssh会话中用户会运行很多命令,推荐在队列中配置cgroup参数来限制其资源使用,这样主机上的多个 卓面和会话不会把主机跑死。

cb.yaml 队列中设置cgroup参数,cgroup只控制本队列中的作业。例子:

queues:
- name: vnc               # VNC和SSH队列
  priority: 3
  cgroup: cpu mem         # 限制每个桌面和会话的CPU和内存使用
  memlimit: percore       # 每个作业内存上限是主机总内存除以CPU核数

访问桌面服务器上的文件(web门户联动功能)

备注

只有与web门户一起安装时才有该功能。

编辑/var/www/html/config.yaml里的userfiles配置。缺省的配置中每个用户(default)的可以访问自己的HOME,(topdir: ~)。

如果某个用户需要访问其他位置的文件,可以加一项这个用户的定义,如:

userfiles:
- name: default      # 缺省每个用户都访问自己的HONME
  role: user
  topdir: "~"
- name: u001         # u001用户可以访问/
  role: user
  topdir: "/"

如果不希望用户通过门户访问服务器上的文件,可以注释掉整个userfiles配置。

桌面和ssh会话的资源规格配置(web门户联动功能)

备注

只有与web门户一起安装时才有该功能。

编辑/var/www/html/config.yaml里的submit_templates。每个可选规格有两个参数:description说明,即用户可选的规格说明;submit_params相应的作业提交参数(参考 csub )。例子:

submit_templates:
- description: 2核1G内存
  submit_params: "-n 2 -R rusage[mem=1g] -M 1g"     # 2个核,1G内存限制,以及1G内存预留,使用缺省队列
- description: 1核内存平均分配
  submit_params: "-q vnc"                           # 单核,内存不限,或者由队列决定,使用vnc队列

以上例子中的两个规格:

  1. 1核主机内存根据核数平均分配。具体配置见上一小节中队列的配置。

  2. 2核1G内存,作业提交参数限制了会话总内存的使用,并在调度器内预留了内存。

用户只能使用VNC门户(web门户联动功能)

备注

只有与web门户一起安装时才有该功能。

编辑/var/www/html/config.yaml里admin_portal_for_users: no,这样普通用户(不是AIP集群管理员)就不能使用AIP Web门户,而只能使用远程桌面门户。