集群管理
集群管理列表
- 接口说明:获取集群管理列表
- 接口地址:a=list&c=swarm&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
s_name | string | 集群名称 | 否 | master-node |
page | string | 页码 | 否 | 2 |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=list&c=swarm&m=admin&s_name={集群名称}&page={页码}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"columns": [], //表头数据
"pageInfo": {}, // 分页信息
"dataSource": [], //列表数据
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
添加、修改集群
- 接口说明:添加、修改主机集群
- 添加集群接口地址:a=add&c=swarm&m=admin
- 修改集群接口地址:edit&c=swarm&m=admin
- 请求方式:POST
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
name | string | 集群名称 | 是 | 中国-广州-电信-01号机房-50号机柜 |
nodeIpRange | string | 主机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 |
uid | string | 所属用户 默认uid为 1 | 是 | 1 |
storageDir | string | 本地存储目录 集群内主机的本地存储目录(暂时仅支持本地存储), 即用于存储数据的目录,通常为数据盘的的挂载目录 | 是 | /data/ |
storageDirConfirm | string | 本地存储目录一旦设置则不可修改,请确认本地存储目录! | 是 | |
description | string | 描述 不超过256个字符 | 否 | |
nameServers | string | DNS服务器 服务容器所使用的DNS服务器的IP地址, 多个用半角逗号隔开,新的DNS需重新部署服务后方可生效, 请不要随意修改! | 否 | 8.8.8.8, 114.114.114.114 |
nfsDir | string | 本地挂载目录 用于挂载NFS的本地目录,以“/nfs-”开头并以“/”结尾 ,建议使用二级目录,更稳定更可靠! | 否 | /nfs-data/data01/ |
nfsDirConfirm | string | 确认本地挂载目录 本地挂载目录一旦设置则不可修改, 请确认本地挂载目录! | 否 | |
nfsHost | string | NFS主机 请填写NFS服务器的IP或主机名! | 否 | 192.169.1.10 |
nfsSubfolder | string | NFS共享目录 服务器端共享的文件夹路径,一般是NFS服务器端的 NFS存储目录的路径 | 否 | /home/nfsDir |
nfsVer | string | NFS版本 [“3.x”: 3, “4.x”: 4] | 否 | “4” |
nfsSync | number | 同步写入数据 请选择写入数据的方式,同步写入更安全, 异步写入速度更快(突然断电可能会丢数据),请根据使用场景选择! [是: 1, 否: 0] | 否 | 1 |
vmnr_hugepages | number | 调整大页内存可提高某些程序的运行效率, 但也可能会导致某些程序运行不正常,请勿随意调整! [4k: 4, 8k: 8, 16k: 16, 32k: 32, 64k: 64, 128k: 128, 关闭: 0] | 否 | |
netipv4tcp_tw_reuse | number | [开启: 1, 关闭: 0] | 否 | 1 |
netipv4tcp_tw_recycle | number | [开启: 1, 关闭: 0] | 否 | 1 |
netipv4tcp_keepalive_time | number | [900, 1800, 3600, 7200] | 否 | 1800 |
netipv4tcp_max_syn_backlog | number | [1024, 2048, 4096, 8192, 10240, 20480] | 否 | 8192 |
netipv4tcp_syncookies | number | [开启: 1, 关闭: 0] | 否 | 1 |
netipv4tcp_mem | string | [“20000 30000 40000”, “40000 50000 60000”, “60000 70000 80000”, “100000 120000 140000”, “150000 170000 190000”, “300000 350000 400000”] | 否 | “20000 30000 40000” |
kernelpid_max | number | [32767, 65535, 131072, 204800, 409600, 819200, 1024000, 2048000] | 否 | 131072 |
netcorenetdev_max_backlog | number | [1000, 2000, 3000, 4000, 5000] | 否 | 3000 |
netipv4tcp_fin_timeout | number | [30, 60, 120, 180, 360, 720] | 否 | 60 |
netcoresomaxconn | number | [128, 256, 512, 1024, 2048, 4096] | 否 | 1024 |
vmswappiness | number | 当内存剩余多少时开始使用swap?[10, 20, 30, 40, 50, 60] | 否 | 10 |
vmmax_map_count | number | [65535, 102400, 204800, 409600, 1024000] | 否 | 204800 |
序列化请求参数为键值对格式的字符串(注意:如果键值对的值是JSON格式数据,可能需要urlencode
):
"name={集群名称}&nodeIpRange={主机IP范围}&uid={所属用户ID}&nodeType={主机类型}&storageDir={本地存储目录}&storageDirConfirm={确认本地存储目录}"
请求示例:
发起请求
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={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
强制更新集群
注意
此操作可能会导致服务中断
- 接口说明:强制更新集群
- 接口地址:a=init&c=swarm&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
id | number | 集群ID | 是 | 1 |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=init&c=swarm&m=admin&id={集群ID}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
清理垃圾
注意
此操作可能耗时较长
- 接口说明:清理垃圾
- 接口地址:a=dockerClear&c=swarm&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
id | number | 集群ID | 是 | 1 |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=dockerClear&c=swarm&m=admin&id={集群ID}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
修复集群
此操作将使所有主机强制退出现有集群,再加入一个新集群,可能会导致服务无法访问(可能需要暴力部署服务才能修复错误),请勿随意操作!
- 接口说明:修复集群
- 接口地址:a=repair&c=swarm&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
id | number | 集群ID | 是 | 1 |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=repair&c=swarm&m=admin&id={集群ID}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
进入维护模式
注意
操作会停止服务并删除其容器,一般在关机前进行操作,如非必需,请勿继续!注:执行此操作后并不会删除存储在容器外部的服务数据,重新开机后执行“强制部署所有服务”便可将服务恢复运行。
- 接口说明:进入维护模式
- 接口地址:a=stopAndDeleteAllContainers&c=tool&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
swarmId | number | 集群ID | 是 | 1 |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=stopAndDeleteAllContainers&c=tool&m=admin&swarmId={集群ID}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
强制部署所有服务
注意
此操作会导致服务中断,可能需要耗费较长时间,请认真考虑后再决定!
- 接口说明:强制部署所有服务
- 接口地址:a=forceDeployAllServices&c=tool&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
swarmId | 集群ID | 集群ID | 是 | 1 |
deployMethod | stirng | 部署方式,固定值为:force | 是 | force |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=forceDeployAllServices&c=tool&deployMethod=force&m=admin&swarmId={集群ID}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}
删除集群
注意
删除后不可恢复,请认真考虑后再决定!
- 接口说明:删除集群
- 接口地址:a=delete&c=swarm&m=admin
- 请求方式:GET
请求参数
参数名称 | 类型 | 描述 | 必填 | 示例值 |
---|---|---|---|---|
id | number | 集群ID | 是 | 1 |
请求示例:
发起请求
curl -k "https://{你网站的ip或者域名}:9966/?a=delete&c=swarm&m=admin&id={集群ID}&v=99999&globalApiNonceStr={随机字符串}&getJson=1&globalApiTimestamp={时间戳}&globalApiSign={签名字符串}"
返回结果
{
"msg": {
"message": "", // 提交请求执行结果的信息
"msgType": "success", // 提交请求执行结果的状态,有success、error、info、warning、fail
"msgMark": null,
"msgCode": null,
"jumpUrl": null,
"waitTime": 8
},
"currentInfo": {},
"softwareInfo": {}
}