集群管理

集群管理列表

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

请求参数

参数名称类型描述必填示例值
s_namestring集群名称master-node
pagestring页码2

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=list&c=swarm&m=admin&s_name={集群名称}&page={页码}&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": 8
  12. },
  13. "currentInfo": {},
  14. "softwareInfo": {}
  15. }

添加、修改集群

  • 接口说明:添加、修改主机集群
  • 添加集群接口地址:a=add&c=swarm&m=admin
  • 修改集群接口地址:edit&c=swarm&m=admin
  • 请求方式:POST

请求参数

参数名称类型描述必填示例值
namestring集群名称中国-广州-电信-01号机房-50号机柜
nodeIpRangestring主机IP范围 目前仅支持内网网段,可用“起始IP地址/CIDR子网掩码”或
“起始IP地址-IP个数”的格式进行填写,如:192.168.1.0/24也可以写成
192.168.1.0-256,表示以192.168.1.0~192.168.1.255的256个IP地址
(如果集群需要支持弹性伸缩,CIDR子网掩码不能小于22)
192.168.1.0/24
uidstring所属用户 默认uid为 11
storageDirstring本地存储目录 集群内主机的本地存储目录(暂时仅支持本地存储),
即用于存储数据的目录,通常为数据盘的的挂载目录
/data/
storageDirConfirmstring本地存储目录一旦设置则不可修改,请确认本地存储目录!
descriptionstring描述 不超过256个字符
nameServersstringDNS服务器 服务容器所使用的DNS服务器的IP地址,
多个用半角逗号隔开,新的DNS需重新部署服务后方可生效,
请不要随意修改!
8.8.8.8, 114.114.114.114
nfsDirstring本地挂载目录 用于挂载NFS的本地目录,以“/nfs-”开头并以“/”结尾
,建议使用二级目录,更稳定更可靠!
/nfs-data/data01/
nfsDirConfirmstring确认本地挂载目录 本地挂载目录一旦设置则不可修改,
请确认本地挂载目录!
nfsHoststringNFS主机 请填写NFS服务器的IP或主机名!192.169.1.10
nfsSubfolderstringNFS共享目录 服务器端共享的文件夹路径,一般是NFS服务器端的
NFS存储目录的路径
/home/nfsDir
nfsVerstringNFS版本 [“3.x”: 3, “4.x”: 4]“4”
nfsSyncnumber同步写入数据 请选择写入数据的方式,同步写入更安全,
异步写入速度更快(突然断电可能会丢数据),请根据使用场景选择!
[是: 1, 否: 0]
1
vmnr_hugepagesnumber调整大页内存可提高某些程序的运行效率,
但也可能会导致某些程序运行不正常,请勿随意调整!
[4k: 4, 8k: 8, 16k: 16, 32k: 32, 64k: 64, 128k: 128, 关闭: 0]
netipv4tcp_tw_reusenumber[开启: 1, 关闭: 0]1
netipv4tcp_tw_recyclenumber[开启: 1, 关闭: 0]1
netipv4tcp_keepalive_timenumber[900, 1800, 3600, 7200]1800
netipv4tcp_max_syn_backlognumber[1024, 2048, 4096, 8192, 10240, 20480]8192
netipv4tcp_syncookiesnumber[开启: 1, 关闭: 0]1
netipv4tcp_memstring[“20000 30000 40000”, “40000 50000 60000”, “60000 70000 80000”, “100000 120000 140000”, “150000 170000 190000”, “300000 350000 400000”]“20000 30000 40000”
kernelpid_maxnumber[32767, 65535, 131072, 204800, 409600, 819200, 1024000, 2048000]131072
netcorenetdev_max_backlognumber[1000, 2000, 3000, 4000, 5000]3000
netipv4tcp_fin_timeoutnumber[30, 60, 120, 180, 360, 720]60
netcoresomaxconnnumber[128, 256, 512, 1024, 2048, 4096]1024
vmswappinessnumber当内存剩余多少时开始使用swap?[10, 20, 30, 40, 50, 60]10
vmmax_map_countnumber[65535, 102400, 204800, 409600, 1024000]204800

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

  1. "name={集群名称}&nodeIpRange={主机IP范围}&uid={所属用户ID}&nodeType={主机类型}&storageDir={本地存储目录}&storageDirConfirm={确认本地存储目录}"

请求示例:

发起请求
  1. curl -d "name={集群名称}&nodeIpRange={主机IP范围}&uid={所属用户ID}&nodeType={主机类型}&storageDir={本地存储目录}&storageDirConfirm={确认本地存储目录}" "https://{你网站的ip或者域名}:9966/?a=add&c=swarm&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=init&c=swarm&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber集群ID1

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=init&c=swarm&m=admin&id={集群ID}&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&m=admin&id={集群ID}&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=repair&c=swarm&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber集群ID1

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=repair&c=swarm&m=admin&id={集群ID}&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=stopAndDeleteAllContainers&c=tool&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
swarmIdnumber集群ID1

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=stopAndDeleteAllContainers&c=tool&m=admin&swarmId={集群ID}&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=forceDeployAllServices&c=tool&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
swarmId集群ID集群ID1
deployMethodstirng部署方式,固定值为:forceforce

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=forceDeployAllServices&c=tool&deployMethod=force&m=admin&swarmId={集群ID}&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=swarm&m=admin
  • 请求方式:GET

请求参数

参数名称类型描述必填示例值
idnumber集群ID1

请求示例:

发起请求
  1. curl -k "https://{你网站的ip或者域名}:9966/?a=delete&c=swarm&m=admin&id={集群ID}&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. }