文档目录

如何获取云主机控制台地址并打开云主机控制台

ZStack Cloud支持通过系统登录或第三方API工具(例如Postman)使用HTTP方式调用API获取云主机控制台地址。本文主要以管理员身份(admin)登录管理节点系统,获取云主机控制台地址,并展示如何打开云主机控制台。您也可以使用云平台其他已授权账户/用户身份登录系统进行获取。

API调用流程

API详细调用流程如下:
  1. 项目成员进入管理节点系统,发送以下Curl请求登录云平台:
    curl -H "Content-Type: application/json;charset=UTF-8" \
    -X PUT -d '{"logInByAccount":{"accountName":"admin","password":"b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86" }}' \
    http://localhost:8080/zstack/v1/accounts/login
    其中:
    • password字段需填入经过SHA-512算法加密的密码
    返回结果为:
    {"inventory":{"uuid":"cbc32f54862f4a5296b97a1302975fb9","accountUuid":"a07965e9d6f34924824fc5e9a6518fc3","userUuid":"a07965e9d6f34924824fc5e9a6518fc3","expiredDate":"Oct 17, 2022 10:43:53 PM","createDate":"Oct 17, 2022 8:43:53 PM","noSessionEvaluation":false}}
    其中:
    • uuid字段即为获取的本次Session的ID,表示登录成功
  2. 请求云主机控制台访问地址:
    curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth cbc32f54862f4a5296b97a1302975fb9" \
    -X PUT -d '{"params":{"vmInstanceUuid":"f601842905994688a3cf7100e8d54b23"}}' \
    http://localhost:8080/zstack/v1/consoles
    其中:
    • vmInstanceUuid字段为目标云主机的UUID
    返回结果为:
    {"apiTimeout":1800000,"location":"http://172.20.14.227:8080/zstack/v1/api-jobs/c41ec46dd7f546a48c31d9d0ca2c89d8"}
    其中:
    • location字段为请求云主机控制台访问地址异步API操作返回的轮询地址
  3. 轮询API结果:
    curl -H "Content-Type: application/json;charset=UTF-8" \
    -X GET http://172.20.14.227:8080/zstack/v1/api-jobs/c41ec46dd7f546a48c31d9d0ca2c89d8
    返回结果为:
    {"inventory":{"scheme":"http","targetScheme":"vnc","hostname":"172.20.16.95","port":4900,"token":"cbc32f54862f4a5296b97a1302975fb9_f601842905994688a3cf7100e8d54b23_1666013527.59","version":"4.5.0"}}
    其中:
    • scheme字段为访问云主机控制台的应用协议
    • targetScheme字段为云主机控制台协议
    • hostname字段为云主机所在物理机的主机名
    • port字段为云主机控制台访问端口
    • token字段为云主机控制台访问密钥
  4. 打开云主机控制台:

    将以上字段拼接,即可获取云主机控制台地址为:http://172.20.19.60:5000/novnc?host=172.20.16.95&port=4900&token=cbc32f54862f4a5296b97a1302975fb9_f601842905994688a3cf7100e8d54b23_1666013527.59。用户可将该地址输入至Chrome或Firefox浏览器,即可打开云主机控制台。

    图 1所示:
    图 1. 打开云主机控制台


至此,云主机控制台地址已成功获取并打开。

开发手册 | 5.4.12 | ZStack Cloud · ZCF | ZStack 资源中心