主机管理

主机管理列表

  • 接口说明:获取主机管理列表
  • 接口地址:a=list&c=node&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
s_hostnamestring主机名master-node
s_ipstringIP192.168.1.10
pagestring页码2

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=list&c=node&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "columns": [], //表头数据
  3. "pageInfo": {}, // 分页信息
  4. "dataSource": [], //列表数据
  5. "msg": {
  6. "message": "", // 提交请求执行结果的信息
  7. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  8. "msgMark": null,
  9. "msgCode": null,
  10. "jumpUrl": null,
  11. "waitTime": 2
  12. },
  13. "currentInfo": {},
  14. "softwareInfo": {}
  15. }

添加主机

  • 接口说明:添加主机
  • 接口地址:a=add&c=node&m=admin
  • 请求方式:POST

请求参数

参数名称类型描述必填示例值
hostnamestring主机名称广州节点1
ipstring主机IP172.17.2.1
swarmIdnumber所在集群的ID1
nodeTypenumber主机类型:{管理主机+工作主机: 1, 工作主机: 0}
(管理主机用于管理集群主机,当管理主机数量大
于等于3个时,集群便有了自动修复功能,当集群
内某台主机宕机时,基于非单机应用构建的服务可
实)现自动迁移,业务几乎不中断
1
statusnumber状态 {开启:1, 关闭并退出集群:0}1
sshUserstringSSH用户名root
sshPortstringSSH端口22
sshLoginTypestringSSH登录方式 {SSH密码: “password”, SSH密钥: “key”}password
sshPasswordstringSSH密码 (当SSH的登录方式为“SSH密码”时,此项为必须)
sshPriKeystringSSH密钥 (当SSH的登录方式为“SSH密钥”时,此项为必须)
doNotSaveSshInfoboolean不保存密钥和密码,当主机部署完成后立即清除加密保存
在数据库中的SSH密码和密钥信息,下次部署主机前需再次输入
true
swapSizenumber虚拟内存 { 不增加虚拟内存: 0, 512M: 512, 1G: 1024, 2G: 2048,
4G: 4096, 8G: 8192, 16G: 16384, 32G: 32768 }
0
descriptionstring描述
sysctlConfigAppendobject内核参数 用于调整系统Sysctl的值,内容为json格式,
注意:此配置会覆盖集群中的内核参数配置
{ “file-max”: 655350 }
labelsarray主机标签用于部署服务时的定向部署,即按不同服务类型部署到
不同的主机服务器 [网站专用:1, 数据库专用: 2, 缓存专用: 3, 工具专用: 4] 可多选
[1, 2]
storageDiskstring添加需要挂载的硬盘设备/dev/sdb
storageDiskConfirmstring再次输入确认硬盘设备的路径
storageDiskCheckboxComfirmboolean为true时,这将擦除硬盘的现有数据,并且将硬盘挂载到存储
目录下的mounts目录上(一般为/data/mounts或/home/mounts)
false
updateOsboolean更新系统有利于提高安全性,建议当主机不能连接外网或者无法更新系统才设置为falsetrue

序列化请求参数为键值对格式的字符串(注意:如果键值对的值是JSON格式数据,可能需要urlencode):

  1. "hostname={主机名称}&ip={主机IP}&swarmId={集群ID}&nodeType={主机类型}&status=1&sshUser={SSH用户名}&sshPort=22&sshLoginType=password&sshPassword={SSH密码}&doNotSaveSshInfo=true&swapSize={虚拟内存大小}"

请求示例:

发起请求
  1. curl -d "hostname={主机名称}&ip={主机IP}&swarmId={集群ID}&nodeType={主机类型}&status=1&sshUser={SSH用户名}root&sshPort=22&sshLoginType=password&sshPassword={SSH密码}&doNotSaveSshInfo=true&swapSize={虚拟内存大小}" "https://{你网站的ip或者域名}:9966/?a=add&c=node&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "msg": {
  3. "message": "", // 提交请求执行结果的信息
  4. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  5. "msgMark": null,
  6. "msgCode": null,
  7. "jumpUrl": null,
  8. "waitTime": 8
  9. },
  10. "currentInfo": {},
  11. "softwareInfo": {}
  12. }

删除主机

  • 接口说明:删除主机
  • 接口地址:a=delete&c=node&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=delete&c=node&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "msg": {
  3. "message": "", // 提交请求执行结果的信息
  4. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  5. "msgMark": null,
  6. "msgCode": null,
  7. "jumpUrl": null,
  8. "waitTime": 8
  9. },
  10. "currentInfo": {},
  11. "softwareInfo": {}
  12. }

升级主机受控

  • 接口说明:升级主机受控
  • 接口地址:a=updateAgent&c=nodeHandle&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=updateAgent&c=nodeHandle&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "msg": {
  3. "message": "", // 提交请求执行结果的信息
  4. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  5. "msgMark": null,
  6. "msgCode": null,
  7. "jumpUrl": null,
  8. "waitTime": 8
  9. },
  10. "currentInfo": {},
  11. "softwareInfo": {}
  12. }

清理主机垃圾

  • 接口说明:清理主机垃圾
  • 接口地址:a=dockerClear&c=swarm&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=dockerClear&c=swarm&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "msg": {
  3. "message": "", // 提交请求执行结果的信息
  4. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  5. "msgMark": null,
  6. "msgCode": null,
  7. "jumpUrl": null,
  8. "waitTime": 8
  9. },
  10. "currentInfo": {},
  11. "softwareInfo": {}
  12. }

诊断主机

  • 接口说明:诊断主机
  • 接口地址:a=connCheck&c=node&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=connCheck&c=node&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "msg": {
  3. "message": "", // 提交请求执行结果的信息
  4. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  5. "msgMark": null,
  6. "msgCode": null,
  7. "jumpUrl": null,
  8. "waitTime": 8
  9. },
  10. "currentInfo": {},
  11. "softwareInfo": {}
  12. }

查看简要

  • 接口说明:查看简要
  • 接口地址:a=info&c=node&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=info&c=node&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "columns": [],
  3. "dataSource": [],
  4. "msg": {
  5. "message": "", // 提交请求执行结果的信息
  6. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  7. "msgMark": null,
  8. "msgCode": null,
  9. "jumpUrl": null,
  10. "waitTime": 8
  11. },
  12. "currentInfo": {},
  13. "softwareInfo": {}
  14. }

查看内存

  • 接口说明:查看内存
  • 接口地址:a=memInfo&c=node&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=memInfo&c=node&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "columns": [],
  3. "dataSource": [],
  4. "msg": {
  5. "message": "", // 提交请求执行结果的信息
  6. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  7. "msgMark": null,
  8. "msgCode": null,
  9. "jumpUrl": null,
  10. "waitTime": 8
  11. },
  12. "currentInfo": {},
  13. "softwareInfo": {}
  14. }

查看存储

  • 接口说明:查看存储
  • 接口地址:a=diskInfo&c=node&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber主机ID1

请求示例:

  1. curl -k "https://{你网站的ip或者域名}:9966/?a=diskInfo&c=node&id={主机ID}&m=admin&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
  1. {
  2. "columns": [],
  3. "dataSource": [],
  4. "msg": {
  5. "message": "", // 提交请求执行结果的信息
  6. "msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
  7. "msgMark": null,
  8. "msgCode": null,
  9. "jumpUrl": null,
  10. "waitTime": 8
  11. },
  12. "currentInfo": {},
  13. "softwareInfo": {}
  14. }