2025-07-17 13:57:37 +08:00
..
2025-07-17 13:57:37 +08:00
2025-07-17 13:57:37 +08:00

pcapi_kboss.html和此文档内容是一样的,不要纠结看哪个,呈现形式不一样而已~

pcapi_kboss容器云/算力中心服务核心API

POST 集群节点绑定/解绑标签

POST /pcapi/api/v1/cluster/common/node_label_opt

给某算力中心的某集群中的某节点打标签

请求参数

名称 位置 类型 必选 说明
host query string 是 none
port query boolean 是 none
user query string 是 none
psssword query string 是 none
worker_node query string 是 目标节点
label query string 是 目标标签
opt query string 是 标签操作,label:绑定,unlabel:解绑
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "节点绑定标签成功",
  "data": {}
}
{
  "status": false,
  "info": "switch node failed",
  "data": {
    "state": "uncordon",
    "drain": false
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data object true none none
»» node_name string true none none
»» force boolean true none none

GET 集群节点库存检测接口

GET /pcapi/api/v1/cluster/common/determine_accommodat

接收平台传来的若干产品组合JSON和集群上下文信息 用于判断某集群中是否至少有一个可用节点来承载这个资源实例的创建

请求参数

名称 位置 类型 必选 说明
kubeconfig query string 是 集群上下文信息
resources query string 是 平台请求资源详情
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

200 Response

[
  "置灰产品id_2",
  "置灰产品id_3",
  "置灰产品id_4"
]

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 创建k8s集群(master)

POST /pcapi/api/v1/cluster/common/new_cluster

通过ssh远程调度安装kubernetes集群的控制节点, 返回集群节点加入凭证及kubeconfig文件, 供工作节点注册加入和后续API管理Kubernetes资源

请求参数

名称 位置 类型 必选 说明
cluster_type query string 否 集群类型,目前默认(只)支持kubernetes
host query string 是 安装控制节点的IP
port query integer 是 安装控制节点ssh端口
user query string 是 远程ssh认证用户
psssword query string 是 远程ssh认证密码
role query string 是 集控制节点角色
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "operate success",
  "data": "kubeadm join 192.168.0.3:6443 --token nt80u6.gzpj9dxsrw79270c --discovery-token-ca-cert-hash sha256:7b33439b2a1b37a8d8938513bd45405f57c3255771c3b9b9b90af448d886b0c2 \n apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTGd4THlGMjM3QmN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBME1ETXdOelE1TXpWYUZ3MHpOVEEwTURFd056VTBNelZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURQUm5hdkZmNXBTWWUvVmJLc0s2SnhEazhyc2hsc2h5WnNNRk8xZDVhZG45Z055T0wwR2NtbEsrQ1EKVklKSnF3RklJeSsxUVlEd3VRMytzczEwYmV2Y2lqM1BRanluaXJRRkNhRlA0NHh2ZkEyK2thV1FYeTVncGwrMwpjSkI1K1MxVmx2Vi9aSHQ5SXgwNjFCdHB4dE5oMUkxNS9IYk4rWmVNNnEvd3lxUW93Y01ub2pyNDltYkxxOWNwCnFSem5LL2FwWXlBYnljUk9uWWlIZ0FjQWdsclFOTjBKUEJZd2dRd0pIUmlIcGhtVFBkdmY2ckxkNFR0dFl2OXgKdmZIRDNjVUdwZkVBUElaNUJBVi9ZM3p5V0pSbDQzSFV2Ri9jemNDQ01jOVlUd3VXaEpxb2doUUZUdnNuSVZzTwovNEtKQzRwQXFSenJlZFRWdExmMXgzQlRpVCt0QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJUZjRZbzBpOVpIZC9ObzdkYWZrZVRTbzVzdzN6QVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRRERLalJWVVp1YwppckJ4QWdZWnBBeW5NSHdWQTF6YStVT09FM1U0MEMyVTN0VGgrK1BsN2o2ZGJZTWNWdEFvTXhxaDRiVjNQRW5SCmtWcWNaN2NjS3FGSXduZlhHK0ZGTVVwazVoTk0xLzc2UXBobi9OWk8zSStSVjFtV0VOU1BzM1FZdEVoWktXUlgKYWRXZ0krK0x1cUZyZVpTVzVjRXNnMWZDODFtd3dhTXdkRHZWcFJZMFEwWlBsMGFqTURsSlNDaDNOSXpQOS82bwpndXBrY1JSdWtvRGlscWVraXlrRWJ5OVJCWHZIbXo3Q0sxQ1ZnZXZJTDZrVnRPRFF2Rm10Qm1WemlRNWFDcXJOCmtZNmd6OUNGMkdKc2M4UkZrcWQxbzdMelhPakJsTkdzN2k2WmdEOE1Ca2tiank2RmZDZWVndmxOOGFCU2VmblEKZ2ZNOVptbnRpMVNDCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K server: https://192.168.0.3:6443 name: kubernetes contexts: - context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kubernetes kind: Config preferences: {} users: - name: kubernetes-admin user: client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJRENDQWdpZ0F3SUJBZ0lIVGZPdmU4TzBJVEFOQmdrcWhraUc5dzBCQVFzRkFEQVZNUk13RVFZRFZRUUQKRXdwcmRXSmxjbTVsZEdWek1CNFhEVEkxTURRd016QTNORGt6TlZvWERUSTJNRFF3TXpBM05UUXpOMW93TkRFWApNQlVHQTFVRUNoTU9jM2x6ZEdWdE9tMWhjM1JsY25NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5Ym1WMFpYTXRZV1J0CmFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEWVJJT3h0TWFkOWs2T1JsL1UKZ2ZnZVJDQkpjZmMrc2ZFbzkxeW4vc05KZFVIbWRuamtMaC9wRjcwZkdoVWZ3R2t5dzR0WkdpTFFNR0xwclpyeAphVTdJT0R3a3I2ejl1SkQzaHlFZExhZGpZT0NOMHJhUFNpV05GV1QwSVN2UVBjZzNGQkQ2YmFHb2RtSmN5YnBPCk5qY1VZZmh5WEVqRXMwOU92QzhhZUJCbm9Na1RkRk53dlFaYXE2LzR3eTUyN0k3aUdIUVdvL21JS1VUVHhzRFgKMzJnVXErZmRVMEh5STJJeWhNMGdwT29uNURCVmRUbWsyMkZsVHk0ZWJ3Q3R4QmMvRCtpelhuZFpVd2tHMExMVwpqTEc4L3JkWTZ4WFJDVkhHM1BWNURRK0JvNEpnMTUwWWFSUnBKeDJYSGxad3N5OFBZcWVLcTM0b1pxczRTRndmCjJCY3JBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRk4vaGlqU0wxa2QzODJqdDFwK1I1TktqbXpEZgpNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFTR0phc1EyQXpLdVNZWFdtMGlYOUhnWTNZQUJGMHpYRzRKZU5lCjREekxkOHF2TXlqRGMwUWFWSUtNbWswemhrV1ZIQzNKSEZWalRXcDBUNFE0TlVBMk8rOXFob1p0a25NL3dsQlUKS0Zab3ZHNFd6SU1sdVJwL21ZRUIzL3dHbkFPV01MdEtBSWJ3d3FRVWl4VW5KYkxCeG4xQ1k5ZERzb1o4VmZZMQp4N2R0WDBJWjJkbU1ETTVLV1lrbW5tQWJBR0tXazZBR3pVWEpWNmlTU3laYjlWLzNuN3hmZlpZRkVDQXBQNk91CjhmRGdIVjBCdEMxS3VmU0tsTitLMnF2aXAzMlRjRHdoTEVHQWQ2aU9qYzhBRXlHelJmOWY4M0xUSGJ2dGtibjYKR0VQQlBQSExSTFlQWEh0OE9LbHdNOThwQWxkSkIyWEJ6UEttc0JFeGFOSWRXd2FTCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMkVTRHNiVEduZlpPamtaZjFJSDRIa1FnU1hIM1BySHhLUGRjcC83RFNYVkI1blo0CjVDNGY2UmU5SHhvVkg4QnBNc09MV1JvaTBEQmk2YTJhOFdsT3lEZzhKSytzL2JpUTk0Y2hIUzJuWTJEZ2pkSzIKajBvbGpSVms5Q0VyMEQzSU54UVErbTJocUhaaVhNbTZUalkzRkdINGNseEl4TE5QVHJ3dkduZ1FaNkRKRTNSVApjTDBHV3F1ditNTXVkdXlPNGhoMEZxUDVpQ2xFMDhiQTE5OW9GS3ZuM1ZOQjhpTmlNb1ROSUtUcUorUXdWWFU1CnBOdGhaVTh1SG04QXJjUVhQdy9vczE1M1dWTUpCdEN5MW95eHZQNjNXT3NWMFFsUnh0ejFlUTBQZ2FPQ1lOZWQKR0drVWFTY2RseDVXY0xNdkQyS25pcXQrS0dhck9FaGNIOWdYS3dJREFRQUJBb0lCQVFDQ1djRjZ3YmdaQzVWTApvZFV1MCt1RjZvLy9WS2F1YmpncDlmWXQ5NXNqVW42Vzl2OWtvUHh3MVBNVHBQZm9mR09yeWpyYVNLdUZDalVFCkhiUlBINmJ4ZlJ1YkRSdmFqWDByQkpLTDhMRjhiNjdKTEtFR2VxMXBmT1N0VkxVQXZjeElqbHF4WnBUU1loQmwKVnQxcE9MbzRHZGpTclJiYklDeUVDMTdrdUV0QytZV3lFb3E5MmlLNVdMTHdHM2hwVzhyVlVLVzZ2T0cyd0l4bAp0RWhMSGpOOWtnb1VVa2pORG9tK2FlcVVxeXhDeUZEdll4UmdhVTd0Y3pJSk52SUk3aDYxaExQbEZtMmxGQ0xlCjhjeTdKUDMyV1ZDSUpUMHhRNkJJRTdvVld4WWIvMzFVSHYrTHg0UHlBcFpiZ3piMjlvQm54VjhneUxnVjZDWW0Kd1psQlQ4S2hBb0dCQU9tMFZqTkVHVm5EaXNsTDFVVkNKYzFCVU1KcjNwalQvV0g4d2s0UzJYWmhwRWdVQmpQYgpDM3Y5czkxNHh6SjhXYWFtUFZPVGZMRmxzRWFLNnJpMFhjQkhXQi9ob1R1aDVKaDByS1RNWWFMTm9SdU00VCt6Ci9zUG1aY1ZMVXcxdHFmd3U5YlVpSTJCQURQNFM2MUFubk5hSnF1UmFWRk8vT1pqZUkvbHJzMVBSQW9HQkFPem0KVTNvcjNuSDh4WHI2WDNJUjRDM3l3TkZLaHNVVE44VmdWNWRVL0U5RmRHTldUVzRkWHdCK01jeUlQMlFLbjlycwpmcU9Cb0c3NlRKVHF0YzVobjY5Q014c1lVNVdPcDhOZW9oaXplY1luSTFjTk94TmZwdzZDdUZVb1pmTFFxU1dICmJ4dEVEaFkrcXJjR2FLZ3VzMk1uMkJ2cEg1bUhCTk5DL05pSVZ1WTdBb0dBZFlnVEhkOHVuSjBockJCdUpsR1kKN3p2YzRKb2RMV0RYZWpNQ2lQOGp6RXhZc1VNWXgzVnV0aUdtRmtpS2JWSnFSOHdzNVY0MEJJY3VlcHVjWmQyWApsSDZNekNQTjBVNmV4eWxPTmVidlowL2dxUmxWb3BMa0dpTkJwVkkzWjNaeVdYaElhNXJLamJwSWpuSjNVeTFJCnpBQWFLSk5nKzJrZEQwc1FibnlDaURFQ2dZQVFDZVA2OEg5bDdqd2NnRmozNnhmblpIa0RjbTAvYUhhdEtVR2sKNEQ4WXl0WC9aN2RrVGg3QmRNbkFWRFVlZTgyb3o3d2ZLOGFGM1BKVVhyT2lYbCttU1BBVzFJWE1LVlZZVjg3WApwMGNHVUY0SEpjRXJKWjIwME1yVUVTRWQyRnlyU3NrTjZvU2RvdTZCNTdBc09zVXdZR0UwT290R0pLc0I5cFlSCnZ1RkxRd0tCZ1FEZVFuRElPaUQ2SEpmc2loTC8xZ3dnS0hVeVc2WGYrNFhQODd3ZlVXT1N0SEpza29oTkZHdk8KSnpNdUFvc2V2UGFWdElCSXBZbFgycUlaaHlhdyt2VW9BUTZYRnR3WjM1QWo1T1VPbVFQQUJWbkVXZUJZRzdSaQpaZmhEU2NTek5xb3ozWFpjMnA4a2VMWE1XOWJsTDNNOTdOMFRLbExuZ0NrSTdoaXJMVGE2T0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= "
}
{
  "status": false,
  "info": "operate failed",
  "data": ""
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data string true none none

POST 新增工作节点(worker)

POST /pcapi/api/v1/cluster/common/new_worker

通过ssh远程调度安装kubernetes集群的工作节点, 并自动输入加入集群指令,完成工作节点注册

请求参数

名称 位置 类型 必选 说明
cluster_type query string 否 集群类型,目前默认(只)支持kubernetes
host query string 是 安装控制节点的IP
port query integer 是 安装控制节点ssh端口
user query string 是 远程ssh认证用户
psssword query string 是 远程ssh认证密码
role query string 是 工作节点角色
join_command query string 是 加入集群指令
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "operate success",
  "data": ""
}
{
  "status": false,
  "info": "operate failed",
  "data": ""
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none 状态
» info string true none 详情
» data string true none 数据

GET 获取某集群所有资源实例

GET /pcapi/api/v1/cluster/common/get_cluster_pods

通过拿到指定集群的ssh协议参数, 远程获取该集群下的所有计算资源实例信息

请求参数

名称 位置 类型 必选 说明
host query string 是 none
port query integer 是 none
user query string 是 none
psssword query string 是 none
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "operate success",
  "data": {
    "total": 2,
    "rows": [
      {
        "pod_namespace": "my-namespace",
        "pod_name": "mysql-deployment-548dbbfc8f-dxltl",
        "pod_ready": "0/1",
        "pod_running": "ImagePullBackOff",
        "pod_restart": "0",
        "pod_age": "17h",
        "pod_ip": "10.244.5.3",
        "pod_node": "k8s-worker-20250408132243",
        "pod_nominated_node": "<none>",
        "pod_readiness_gates": "<none>"
      },
      {
        "pod_namespace": "my-namespace",
        "pod_name": "mysql-deployment-6fc6584bd6-6prqc",
        "pod_ready": "0/1",
        "pod_running": "ImagePullBackOff",
        "pod_restart": "0",
        "pod_age": "17h",
        "pod_ip": "10.244.5.6",
        "pod_node": "k8s-worker-20250408132243",
        "pod_nominated_node": "<none>",
        "pod_readiness_gates": "<none>"
      }
    ]
  }
}
{
  "status": false,
  "info": "operate failed",
  "data": ""
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» pod_namespace string true none none
»»» pod_name string true none none
»»» pod_ready string true none none
»»» pod_running string true none none
»»» pod_restart string true none none
»»» pod_age string true none none
»»» pod_ip string true none none
»»» pod_node string true none none
»»» pod_nominated_node string true none none
»»» pod_readiness_gates string true none none

GET 获取某集群所有计算节点

GET /pcapi/api/v1/cluster/common/get_cluster_nodes

通过拿到指定集群的ssh协议参数, 远程获取该集群下的所有计算节点信息

请求参数

名称 位置 类型 必选 说明
host query string 是 none
port query integer 是 none
user query string 是 none
psssword query string 是 none
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "operate success",
  "data": {
    "total": 2,
    "rows": [
      {
        "node_name": "k8s-master",
        "node_status": "Ready",
        "node_role": "control-plane",
        "node_age": "5d18h",
        "node_version": "v1.28.2",
        "node_internalip": "192.168.0.3",
        "node_externalip": "<none>",
        "node_osversion": "Ubuntu 22.04.1 LTS",
        "node_kernelversion": "5.15.0-91-generic",
        "node_containeruntime": "containerd://1.7.24"
      },
      {
        "node_name": "k8s-worker-20250408132243",
        "node_status": "Ready",
        "node_role": "<none>",
        "node_age": "21h",
        "node_version": "v1.28.2",
        "node_internalip": "192.168.0.2",
        "node_externalip": "<none>",
        "node_osversion": "Ubuntu 22.04.1 LTS",
        "node_kernelversion": "5.15.0-91-generic",
        "node_containeruntime": "containerd://1.7.24"
      }
    ]
  }
}
{
  "status": false,
  "info": "operate failed",
  "data": ""
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» pod_namespace string true none none
»»» pod_name string true none none
»»» pod_ready string true none none
»»» pod_running string true none none
»»» pod_restart string true none none
»»» pod_age string true none none
»»» pod_ip string true none none
»»» pod_node string true none none
»»» pod_nominated_node string true none none
»»» pod_readiness_gates string true none none

POST 开发中-删除指定集群某工作节点

POST /pcapi/api/v1/cluster/common/delete_cluster_node

1.通过ssh协议及集群资源实例参数,远程删除指定集群下某计算资源实例,删除失败原因可能很多,统一在结果中告知 2.若强制删除,则系统先会标记该节点为不可用,再驱逐所有pod到其他节点,最后再删除

请求参数

名称 位置 类型 必选 说明
host query string 是 none
port query integer 是 none
user query string 是 none
psssword query string 是 none
node_name query string 是 节点名称(主机名)
force query boolean 否 是否强制删除(--force --grace-period=0选项)
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "delete node success",
  "data": {
    "node_name": "k8s-worker-20250408132243",
    "force": true
  }
}
{
  "status": false,
  "info": "delete node failed",
  "data": {
    "node_name": "k8s-worker-20250408132243",
    "force": true
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data string true none none

POST 开发中-切换某集群某工作节点状态

POST /pcapi/api/v1/cluster/common/node_state_switch

暂停/恢复kubernetes集群中某工作节点的可用状态,暂停即暂时不再接收新的pod调度

请求参数

名称 位置 类型 必选 说明
host query string 是 none
port query boolean 是 none
user query string 是 none
psssword query string 是 none
state query string 是 暂停还是恢复
darin query boolean 否 是否驱逐现有pod,默认不驱逐
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

枚举值

属性 值
state cordon
state uncordon

返回示例

{
  "status": true,
  "info": "switch node success",
  "data": {
    "state": "cordon",
    "drain": false
  }
}
{
  "status": false,
  "info": "switch node failed",
  "data": {
    "state": "uncordon",
    "drain": false
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data object true none none
»» node_name string true none none
»» force boolean true none none

POST 通过YAML实例化资源实例

POST /pcapi/api/v1/cluster/common/yaml_apply_delete

每次被调用都接收对方传来的新的yml文件内容,实例化k8s集群Pod资源, 其中包含创建,修改,删除kubernetes资源实例等操作

请求参数

名称 位置 类型 必选 说明
cluster_type query string 否 集群类型
host query string 否 主机地址
port query integer 否 端口
user query string 否 用户名
psssword query string 否 密码
kubeconfig query string 否 集群上下文
action query string 否 操作
namespace_name query string 否 命名空间名称
serviceaccount_name query string 否 命名空间服务认证名称
podcd_name query string 否 Pod引擎名称
service_name query string 否 资源服务名称
clusterid query string 否 集群ID
cpcid query string 否 算力中心ID
source_name query string 否 资源名称
instance_type query string 否 实例类型
source_replicasetnum query string 否 副本数量
source_authuser query string 否 认证用户名
source_authpasswd query string 否 认证密码
source_podengine query string 否 Pod引擎类型
pod_imagepath query string 否 基础镜像
source_memrate query string 否 内存限制
source_cpurate query string 否 CPU 限制
source_selflabel query string 否 资源实例标签
source_portmode query string 否 端口映射模式
source_restartpolicy query string 否 重启策略
source_apiport query string 否 集群内映射端口
source_insideport query string 否 容器内监听端口
source_outsideport query string 否 集群外映射端口
source_mountpath query string 否 容器内挂载路径
source_storagelimits query string 否 存储盘大小
Authorization header string 是 base64加密ssh账号密码信息(示例是ysh,Kyy@123456)

详细说明

Authorization: base64加密ssh账号密码信息(示例是ysh,Kyy@123456) 用于pcapi服务校验客户端,下面是python写法 headers = basic_auth_headers('ssh账号', 'ssh密码')

返回示例

{
  "status": true,
  "info": "operate success",
  "data": null
}
{
  "status": false,
  "info": "operate failed",
  "data": null
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» info string true none none
» data string true none none

pcapi_kboss容器云/算力中心管理

GET 算力中心展示

GET /dev/cpcc/cpclist/get_cpclist.dspy

获取所有算力中心(列表信息),纯数据库操作

请求参数

名称 位置 类型 必选 说明
page query string 否 none
rows query string 否 none
sort query string 否 none
orgid query string 否 线下调试/非登录态可指定组织ID进行操作

返回示例

200 Response

{
  "status": true,
  "msg": "算力中心数据查询成功",
  "data": {
    "total": 2,
    "rows": [
      {
        "id": "-z2r4CFb-7rcfugNn2wIr",
        "name": "首都算力中心1",
        "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
        "pcapi_url": "https://opencomputing.ai",
        "api_user": "ysh",
        "api_pwd": "Kyy@123456",
        "enable_date": "2025-05-16",
        "expire_date": "2026-06-17",
        "contactname": "Ahexl",
        "contactphone": "13141005621",
        "row_num_": 1
      },
      {
        "id": "AROU9udKtPNyh0AZtO_WY",
        "name": "测试pcapi",
        "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
        "pcapi_url": "https://trial.kaiyuancloud.cn",
        "api_user": "ysh",
        "api_pwd": "QUZVcXg5V1p1STMybG5Ia5XIAWA87bQMgZw=",
        "enable_date": "2025-04-13",
        "expire_date": "2025-04-18",
        "contactname": "kyy",
        "contactphone": "",
        "row_num_": 2
      }
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» total integer true none none
» rows [object] true none none
»» id string true none none
»» name string true none none
»» orgid string true none none
»» pcapi_url string true none none
»» api_user string true none none
»» api_pwd string true none none
»» enable_date string true none none
»» expire_date string true none none
»» contactname string true none none
»» contactphone string true none none
»» orgid_text string true none none
»» row_num_ integer true none none

POST 算力中心添加

POST /dev/cpcc/cpclist/add_cpclist.dspy

添加算力中心,纯数据库操作

请求参数

名称 位置 类型 必选 说明
name query string 是 算力中心名称
pcapi_url query string 是 算力中心API总址
api_user query string 是 算力中心接口账号
api_pwd query string 是 算力中心接口密码
contactname query string 是 联系人
contactphone query string 是 手机号
enable_date query string 否 启用日期
expire_date query string 否 停用日期
orgid query string 否 线下调试/非登录态可指定组织ID进行操作

返回示例

200 Response

{
  "status": true,
  "msg": "新建算力中心成功",
  "data": {
    "api_pwd": "Kyy@123456",
    "api_user": "ysh",
    "contactname": "Ahexl",
    "contactphone": "13141005621",
    "enable_date": "2025-05-16",
    "expire_date": "2026-06-17",
    "name": "首都算力中心1",
    "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
    "pcapi_url": "https://opencomputing.ai",
    "id": "9Luu-tbsJmEEcJxoAkumM"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» api_pwd string true none none
»» api_user string true none none
»» contactname string true none none
»» contactphone string true none none
»» enable_date string true none none
»» expire_date string true none none
»» name string true none none
»» orgid string true none none
»» pcapi_url string true none none
»» id string true none none

POST 算力中心更新

POST /dev/cpcc/cpclist/update_cpclist.dspy

更新某算力中心的基本数据,纯数据库操作

请求参数

名称 位置 类型 必选 说明
id query string 是 算力中心ID
name query string 是 算力中心名称
pcapi_url query string 是 算力中心API总址
api_user query string 是 算力中心接口账号
api_pwd query string 是 算力中心接口密码
contactname query string 是 联系人
contactphone query string 是 手机号
enable_date query string 否 启用日期
expire_date query string 否 停用日期

返回示例

{
  "status": true,
  "msg": "更新算力中心成功",
  "data": {
    "api_pwd": "QUZVcXg5V1p1STMybG5Ia5aL/gkv7+gmSkA=",
    "api_user": "修改后数据1",
    "contactname": "Ahexl",
    "contactphone": "13141005621",
    "enable_date": "2025-05-16",
    "expire_date": "2026-06-17",
    "id": "gOHOm7Wm01OPnBUFeeVi8",
    "name": "首都算力中心3",
    "pcapi_url": "https://opencomputing.ai"
  }
}
{
  "status": false,
  "msg": "无算力中心ID"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» widgettype string true none none
» options object true none none
»» title string true none none
»» cwidth integer true none none
»» cheight integer true none none
»» timeout integer true none none
»» message string true none none

POST 算力中心删除

POST /dev/cpcc/cpclist/delete_cpclist.dspy

删除某算力中心,纯数据库操作

请求参数

名称 位置 类型 必选 说明
id query string 否 算力中心展示接口返回的id
orgid query string 否 线下调试/非登录态可指定组织ID进行操作

返回示例

200 Response

{
  "status": true,
  "msg": "删除算力中心成功",
  "data": {
    "id": "u8swLRSlyDt7IGpJurPVZ",
    "orgid": "mIWUHBeeDM8mwAFPIQ8pS"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» widgettype string true none none
» options object true none none
»» title string true none none
»» timeout integer true none none
»» cwidth integer true none none
»» cheight integer true none none
»» message string true none none

pcapi_kboss容器云/算力设备管理

GET 算力设备展示

GET /dev/cpcc/cpcnode/get_cpcnode.dspy

输入算力中心id,展示该算力中心下所有算力设备,包含已安装的和未安装的

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
page query string 否 看哪页
rows query string 否 看多少行
sort query string 否 根据什么字段排序

返回示例

{
  "status": true,
  "msg": "获取算力设备成功",
  "data": {
    "total": 3,
    "rows": [
      {
        "id": "1cV3nLWGD_YLqXm9OUWKU",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "name": "2-虚拟机ubuntu2204",
        "clusterid": "4hBm8atruISOU2bs24t_N",
        "node_status": "1",
        "ip": "192.168.0.2",
        "devicetype": "0",
        "sshport": 22,
        "adminuser": "root",
        "adminpwd": "Yuanshenhong.1",
        "enable_date": "2025-03-31",
        "export_date": "2029-10-30",
        "external_ip": "未设置",
        "cpu_model": "STANDARD",
        "cpu_stock": 0,
        "memory_model": "STANDARD",
        "memory_stock": 0,
        "sysdisk_stock": 0,
        "datadisk_stock": 0,
        "gpu_model": "STANDARD",
        "gpu_stock": 0,
        "role": "worker",
        "node_status_text": "占用",
        "devicetype_text": "虚拟机",
        "row_num_": 1
      },
      {
        "id": "RJZ2GMHSWGVG7iRk_AJYm",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "name": "3-虚拟机ubuntu2204",
        "clusterid": "4hBm8atruISOU2bs24t_N",
        "node_status": "1",
        "ip": "192.168.0.3",
        "devicetype": "0",
        "sshport": 22,
        "adminuser": "root",
        "adminpwd": "Yuanshenhong.1",
        "enable_date": "2025-03-28",
        "export_date": "9999-12-31",
        "external_ip": "未设置",
        "cpu_model": "STANDARD",
        "cpu_stock": 0,
        "memory_model": "STANDARD",
        "memory_stock": 0,
        "sysdisk_stock": 0,
        "datadisk_stock": 0,
        "gpu_model": "STANDARD",
        "gpu_stock": 0,
        "role": "master",
        "node_status_text": "占用",
        "devicetype_text": "虚拟机",
        "row_num_": 2
      },
      {
        "id": "ULwkzAj-pF-RYkJde3hbS",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "name": "假算力设备",
        "clusterid": "4hBm8atruISOU2bs24t_X",
        "node_status": "0",
        "ip": "192.168.110.120",
        "devicetype": "1",
        "sshport": 22,
        "adminuser": "ysh",
        "adminpwd": "Kyy@123456",
        "enable_date": "2025-06-04",
        "export_date": "2025-06-04",
        "external_ip": "未设置",
        "cpu_model": "STANDARD",
        "cpu_stock": 0,
        "memory_model": "STANDARD",
        "memory_stock": 0,
        "sysdisk_stock": 0,
        "datadisk_stock": 0,
        "gpu_model": "STANDARD",
        "gpu_stock": 0,
        "role": "master",
        "node_status_text": "空闲",
        "devicetype_text": "物理机",
        "row_num_": 3
      }
    ]
  }
}
{
  "status": false,
  "msg": "无算力中心ID"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» id string true none 设备id
»»» cpcid string true none 算力中心id
»»» name string true none 设备名称
»»» node_status string true none 设备状态,占用/空闲
»»» clusterid string true none 集群id
»»» ip string true none 内网IP
»»» devicetype string true none 设备类型,物理机/虚拟机
»»» sshport integer true none ssh端口
»»» adminuser string true none ssh用户
»»» adminpwd string true none ssh用户密码
»»» enable_date string true none 启用日期
»»» export_date string true none 结束日期
»»» external_ip string true none 公网IP
»»» cpu_model string true none CPU硬件型号
»»» cpu_stock integer true none CPU核数量
»»» memory_model string true none 内存硬件型号
»»» memory_stock integer true none 内存大小(按Gi)
»»» sysdisk_stock integer true none 系统盘大小(按Gi)
»»» datadisk_stock integer true none 数据盘大小(按:Gi)
»»» gpu_model string true none GPU型号(格式:RTXABCD-32G)
»»» gpu_stock integer true none GPU卡数量
»»» node_status_text string true none none
»»» devicetype_text string true none none
»»» cluster_name string true none 所属集群,默认为空
»»» role string true none 集群角色,值为master:控制/worker:工作,默认为空
»»» row_num_ integer true none none

POST 算力设备添加

POST /dev/cpcc/cpcnode/add_cpcnode.dspy

入网算力设备添加,纯数据库操作; 算力设备后续用作安装算力集群各角色节点

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心ID
ip query string 是 IP地址
name query string 是 设备简称
devicetype query string 是 设备类型,0是虚拟机,1是物理机
sshport query string 是 SSH端口
adminuser query string 是 管理账号
adminpwd query string 是 管理密码
node_status query string 是 算力设备状态,0是空闲,1是占用
external_ip query string 是 公网IP
cpu_model query string 是 CPU型号
cpu_stock query integer 是 CPU库存量,核为单位
memory_model query string 是 内存型号
memory_stock query integer 是 内存库存量,Gi为单位
sysdisk_stock query integer 是 系统盘库存量,Gi为单位
datadisk_stock query integer 是 数据盘库存量,Gi为单位
gpu_model query string 是 GPU型号
gpu_stock query integer 是 GPU库存量,卡为单位
role query string 是 集群角色
enable_date query string 否 启用日期
export_date query string 否 停用日期

返回示例

200 Response

{
  "status": true,
  "msg": "新增算力设备成功",
  "data": {
    "adminpwd": "QUZVcXg5V1p1STMybG5Ia5aL/gkv7+gmSkA=",
    "adminuser": "ysh",
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "devicetype": "1",
    "enable_date": "2025-05-16",
    "export_date": "2026-06-17",
    "ip": "192.168.0.8",
    "name": "gpu设备1",
    "node_status": "0",
    "sshport": "22",
    "id": "DeolAhhh_sE6UE9DMqDSa"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» widgettype string true none none
» options object true none none
»» user_data object true none none
»»» webbricks [string] true none none
»»» width [string] true none none
»»» height [string] true none none
»»» _is_mobile [string] true none none
»»» cpcid string true none none
»»» ip string true none none
»»» name string true none none
»»» devicetype string true none none
»»» sshport string true none none
»»» adminuser string true none none
»»» adminpwd string true none none
»»» node_status string true none none
»»» enable_date string true none none
»»» export_date string true none none
»»» id string true none none
»» cwidth integer true none none
»» cheight integer true none none
»» title string true none none
»» timeout integer true none none
»» message string true none none

POST 算力设备更新

POST /dev/cpcc/cpcnode/update_cpcnode.dspy

更新某算力设备基本信息, 更新时密码加密那块每次都会加密,建议取消那块逻辑

请求参数

名称 位置 类型 必选 说明
id query string 是 算力设备ID
cpcid query string 是 算力中心ID
ip query string 是 IP地址
name query string 是 设备简称
devicetype query string 是 设备类型,0是虚拟机,1是物理机
sshport query string 是 SSH端口
adminuser query string 是 管理账号
adminpwd query string 是 管理密码
node_status query string 是 算力设备状态
external_ip query string 是 公网IP
cpu_model query string 是 CPU型号
cpu_stock query integer 是 CPU库存量,核为单位
memory_model query string 是 内存型号
memory_stock query integer 是 内存库存量,Gi为单位
sysdisk_stock query integer 是 系统盘库存量,Gi为单位
datadisk_stock query integer 是 数据盘库存量,Gi为单位
gpu_model query string 是 GPU型号
gpu_stock query integer 是 GPU库存量,卡为单位
role query string 是 集群角色
enable_date query string 否 启用日期
export_date query string 否 停用日期

返回示例

200 Response

{
  "status": true,
  "msg": "更新算力中心成功",
  "data": {
    "adminpwd": "Kyy@123456",
    "adminuser": "ysh",
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "devicetype": "1",
    "enable_date": "2025-05-16",
    "export_date": "2026-06-17",
    "id": "E71hIuIKvTr5D2w2Sxnc9",
    "ip": "192.168.0.8",
    "name": "gpu设备122cccc",
    "node_status": "0",
    "sshport": "22"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» widgettype string true none none
» options object true none none
»» title string true none none
»» cwidth integer true none none
»» cheight integer true none none
»» timeout integer true none none
»» message string true none none

POST 算力设备移除

POST /dev/cpcc/cpcnode/delete_cpcnode.dspy

移除算力中心中的某个算力设备,建议交互方式使用DELETE方法

请求参数

名称 位置 类型 必选 说明
id query string 否 算力设备查找返回的id

返回示例

200 Response

{
  "status": true,
  "msg": "删除算力设备成功",
  "data": {
    "id": "Za8rOOFoacMZnbKoTVig2"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» widgettype string true none none
» options object true none none
»» title string true none none
»» timeout integer true none none
»» cwidth integer true none none
»» cheight integer true none none
»» message string true none none

pcapi_kboss容器云/标签管理

GET 获取资源标签

GET /dev/cpcc/cpclabel/get_cpclabel.dspy

获取该算力中心下的所有资源标签,展示时尽量每行一个键值对

在新增资源实例配置接口前需要,同步获取相应节点标签,下拉框进行选择(传 {key 单位 value} 给后端)

请求参数

名称 位置 类型 必选 说明
orgid query string 否 用户组织id

返回示例

{
  "status": true,
  "msg": "获取资源标签成功",
  "data": {
    "total": 4,
    "rows": [
      {
        "id": "3h1CPE1jv7TwF52A4urJd",
        "name": "非GPU设备",
        "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
        "labeltype": "1",
        "label_key": "kyy-gpu",
        "symbol": "=",
        "label_value": "false",
        "update_time": "2025-05-28 14:42:04",
        "row_num_": 1
      },
      {
        "id": "APP5429j81a4kBmmrhi52",
        "name": "GPU设备",
        "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
        "labeltype": "1",
        "label_key": "kyy-gpu",
        "symbol": "=",
        "label_value": "true",
        "update_time": "2025-05-28 14:42:06",
        "row_num_": 2
      },
      {
        "id": "Fx1xo6bXcFLp9pLLXgpRN",
        "name": "测试标签",
        "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
        "labeltype": "0",
        "label_key": "kyy-test",
        "symbol": ":",
        "label_value": "ok",
        "update_time": "2025-05-28 14:42:21",
        "row_num_": 3
      },
      {
        "id": "mfbiVzlAtd87H1cX_b81X",
        "name": "cd",
        "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
        "labeltype": "0",
        "label_key": "kyy-we",
        "symbol": ":",
        "label_value": "qwe",
        "update_time": "2025-05-28 14:42:24",
        "row_num_": 4
      }
    ]
  }
}
{
  "status": false,
  "msg": "无算力中心id"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» id string true none 标签id none
»»» name string true none 标签名称 none
»»» orgid string true none 用户组织id none
»»» labeltype string true none 标签类型 哪种资源的标签,0是实例标签,1是节点标签,后续再拓展其它
»»» label_key string true none 标签属性 none
»»» symbol string true none 等价符号 = 是节点标签, :是资源标签
»»» label_value string true none 标签值 none
»»» update_time string true none 更新时间 none
»»» row_num_ integer true none none

POST 新增资源标签

POST /dev/cpcc/cpclabel/add_cpclabel.dspy

新增资源标签

请求参数

名称 位置 类型 必选 说明
name query string 是 标签名称
labeltype query string 是 哪种资源的标签,0是实例标签,1是节点标签,后续再拓展其它
label_key query string 是 标签属性
label_value query string 是 标签属性值
orgid query string 否 用户组织id

返回示例

200 Response

{
  "status": true,
  "msg": "新增资源标签成功",
  "data": {
    "label_key": "kyy-app",
    "label_value": "mysql8",
    "labeltype": "0",
    "name": "mysql8资源实例",
    "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
    "id": "BvJGOTjpDelumxH5Uo0Qz",
    "update_time": "2025-05-27 14:13:00"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 删除资源标签

POST /dev/cpcc/cpclabel/delete_cpclabel.dspy

删除资源标签

请求参数

名称 位置 类型 必选 说明
id query string 是 标签列表返回的id
orgid query string 否 用户组织id

返回示例

200 Response

{
  "status": true,
  "msg": "删除资源标签成功",
  "data": {
    "id": "6bi3hfxxVqMM7hy-OuitEa"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 集群节点绑定/解绑标签

POST /dev/cpcc/cpclabel/setup_cpclabel.dspy

给指定算力中心里某集群中的工作节点绑定标签/解绑标签

一次只能一个标签

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
clusterid query string 是 算力集群id
label query string 是 单个标签内容
worker_node query string 是 集群某节点(页面返回的节点名)
opt query string 是 操作,label是绑定,unlabel是解绑
orgid query string 否 用户组织id

返回示例

200 Response

{
  "status": true,
  "msg": "设置节点标签成功",
  "data": {
    "clusterid": "4hBm8atruISOU2bs24t_N",
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "label": "kyy-gpu=false",
    "opt": "label",
    "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
    "worker_node": "k8s-worker-20250408132243"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

pcapi_kboss容器云/算力集群管理

GET 获取多算力集群信息

GET /dev/cpcc/cpccluster/get_cpccluster.dspy

输入算力中心ID,展示该算力中心下所有kubernetes集群信息

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id

返回示例

200 Response

{
  "status": true,
  "msg": "获取算力集群成功",
  "data": {
    "total": 1,
    "rows": [
      {
        "id": "4hBm8atruISOU2bs24t_N",
        "name": "测试离线安装控制节点",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "clustertype": "0",
        "controllerid": "RJZ2GMHSWGVG7iRk_AJYm",
        "enable_date": "2025-04-03",
        "export_date": "2025-05-10",
        "clusterjoin": "kubeadm join 192.168.0.3:6443 --token nt80u6.gzpj9dxsrw79270c --discovery-token-ca-cert-hash sha256:7b33439b2a1b37a8d8938513bd45405f57c3255771c3b9b9b90af448d886b0c2",
        "kubeconfig": "apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTGd4THlGMjM3QmN3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRBME1ETXdOelE1TXpWYUZ3MHpOVEEwTURFd056VTBNelZhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURQUm5hdkZmNXBTWWUvVmJLc0s2SnhEazhyc2hsc2h5WnNNRk8xZDVhZG45Z055T0wwR2NtbEsrQ1EKVklKSnF3RklJeSsxUVlEd3VRMytzczEwYmV2Y2lqM1BRanluaXJRRkNhRlA0NHh2ZkEyK2thV1FYeTVncGwrMwpjSkI1K1MxVmx2Vi9aSHQ5SXgwNjFCdHB4dE5oMUkxNS9IYk4rWmVNNnEvd3lxUW93Y01ub2pyNDltYkxxOWNwCnFSem5LL2FwWXlBYnljUk9uWWlIZ0FjQWdsclFOTjBKUEJZd2dRd0pIUmlIcGhtVFBkdmY2ckxkNFR0dFl2OXgKdmZIRDNjVUdwZkVBUElaNUJBVi9ZM3p5V0pSbDQzSFV2Ri9jemNDQ01jOVlUd3VXaEpxb2doUUZUdnNuSVZzTwovNEtKQzRwQXFSenJlZFRWdExmMXgzQlRpVCt0QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJUZjRZbzBpOVpIZC9ObzdkYWZrZVRTbzVzdzN6QVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRRERLalJWVVp1YwppckJ4QWdZWnBBeW5NSHdWQTF6YStVT09FM1U0MEMyVTN0VGgrK1BsN2o2ZGJZTWNWdEFvTXhxaDRiVjNQRW5SCmtWcWNaN2NjS3FGSXduZlhHK0ZGTVVwazVoTk0xLzc2UXBobi9OWk8zSStSVjFtV0VOU1BzM1FZdEVoWktXUlgKYWRXZ0krK0x1cUZyZVpTVzVjRXNnMWZDODFtd3dhTXdkRHZWcFJZMFEwWlBsMGFqTURsSlNDaDNOSXpQOS82bwpndXBrY1JSdWtvRGlscWVraXlrRWJ5OVJCWHZIbXo3Q0sxQ1ZnZXZJTDZrVnRPRFF2Rm10Qm1WemlRNWFDcXJOCmtZNmd6OUNGMkdKc2M4UkZrcWQxbzdMelhPakJsTkdzN2k2WmdEOE1Ca2tiank2RmZDZWVndmxOOGFCU2VmblEKZ2ZNOVptbnRpMVNDCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\n    server: https://192.168.0.3:6443\n  name: kubernetes\ncontexts:\n- context:\n    cluster: kubernetes\n    user: kubernetes-admin\n  name: kubernetes-admin@kubernetes\ncurrent-context: kubernetes-admin@kubernetes\nkind: Config\npreferences: {}\nusers:\n- name: kubernetes-admin\n  user:\n    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJRENDQWdpZ0F3SUJBZ0lIVGZPdmU4TzBJVEFOQmdrcWhraUc5dzBCQVFzRkFEQVZNUk13RVFZRFZRUUQKRXdwcmRXSmxjbTVsZEdWek1CNFhEVEkxTURRd016QTNORGt6TlZvWERUSTJNRFF3TXpBM05UUXpOMW93TkRFWApNQlVHQTFVRUNoTU9jM2x6ZEdWdE9tMWhjM1JsY25NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5Ym1WMFpYTXRZV1J0CmFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEWVJJT3h0TWFkOWs2T1JsL1UKZ2ZnZVJDQkpjZmMrc2ZFbzkxeW4vc05KZFVIbWRuamtMaC9wRjcwZkdoVWZ3R2t5dzR0WkdpTFFNR0xwclpyeAphVTdJT0R3a3I2ejl1SkQzaHlFZExhZGpZT0NOMHJhUFNpV05GV1QwSVN2UVBjZzNGQkQ2YmFHb2RtSmN5YnBPCk5qY1VZZmh5WEVqRXMwOU92QzhhZUJCbm9Na1RkRk53dlFaYXE2LzR3eTUyN0k3aUdIUVdvL21JS1VUVHhzRFgKMzJnVXErZmRVMEh5STJJeWhNMGdwT29uNURCVmRUbWsyMkZsVHk0ZWJ3Q3R4QmMvRCtpelhuZFpVd2tHMExMVwpqTEc4L3JkWTZ4WFJDVkhHM1BWNURRK0JvNEpnMTUwWWFSUnBKeDJYSGxad3N5OFBZcWVLcTM0b1pxczRTRndmCjJCY3JBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0QKQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRk4vaGlqU0wxa2QzODJqdDFwK1I1TktqbXpEZgpNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUFTR0phc1EyQXpLdVNZWFdtMGlYOUhnWTNZQUJGMHpYRzRKZU5lCjREekxkOHF2TXlqRGMwUWFWSUtNbWswemhrV1ZIQzNKSEZWalRXcDBUNFE0TlVBMk8rOXFob1p0a25NL3dsQlUKS0Zab3ZHNFd6SU1sdVJwL21ZRUIzL3dHbkFPV01MdEtBSWJ3d3FRVWl4VW5KYkxCeG4xQ1k5ZERzb1o4VmZZMQp4N2R0WDBJWjJkbU1ETTVLV1lrbW5tQWJBR0tXazZBR3pVWEpWNmlTU3laYjlWLzNuN3hmZlpZRkVDQXBQNk91CjhmRGdIVjBCdEMxS3VmU0tsTitLMnF2aXAzMlRjRHdoTEVHQWQ2aU9qYzhBRXlHelJmOWY4M0xUSGJ2dGtibjYKR0VQQlBQSExSTFlQWEh0OE9LbHdNOThwQWxkSkIyWEJ6UEttc0JFeGFOSWRXd2FTCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K\n    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMkVTRHNiVEduZlpPamtaZjFJSDRIa1FnU1hIM1BySHhLUGRjcC83RFNYVkI1blo0CjVDNGY2UmU5SHhvVkg4QnBNc09MV1JvaTBEQmk2YTJhOFdsT3lEZzhKSytzL2JpUTk0Y2hIUzJuWTJEZ2pkSzIKajBvbGpSVms5Q0VyMEQzSU54UVErbTJocUhaaVhNbTZUalkzRkdINGNseEl4TE5QVHJ3dkduZ1FaNkRKRTNSVApjTDBHV3F1ditNTXVkdXlPNGhoMEZxUDVpQ2xFMDhiQTE5OW9GS3ZuM1ZOQjhpTmlNb1ROSUtUcUorUXdWWFU1CnBOdGhaVTh1SG04QXJjUVhQdy9vczE1M1dWTUpCdEN5MW95eHZQNjNXT3NWMFFsUnh0ejFlUTBQZ2FPQ1lOZWQKR0drVWFTY2RseDVXY0xNdkQyS25pcXQrS0dhck9FaGNIOWdYS3dJREFRQUJBb0lCQVFDQ1djRjZ3YmdaQzVWTApvZFV1MCt1RjZvLy9WS2F1YmpncDlmWXQ5NXNqVW42Vzl2OWtvUHh3MVBNVHBQZm9mR09yeWpyYVNLdUZDalVFCkhiUlBINmJ4ZlJ1YkRSdmFqWDByQkpLTDhMRjhiNjdKTEtFR2VxMXBmT1N0VkxVQXZjeElqbHF4WnBUU1loQmwKVnQxcE9MbzRHZGpTclJiYklDeUVDMTdrdUV0QytZV3lFb3E5MmlLNVdMTHdHM2hwVzhyVlVLVzZ2T0cyd0l4bAp0RWhMSGpOOWtnb1VVa2pORG9tK2FlcVVxeXhDeUZEdll4UmdhVTd0Y3pJSk52SUk3aDYxaExQbEZtMmxGQ0xlCjhjeTdKUDMyV1ZDSUpUMHhRNkJJRTdvVld4WWIvMzFVSHYrTHg0UHlBcFpiZ3piMjlvQm54VjhneUxnVjZDWW0Kd1psQlQ4S2hBb0dCQU9tMFZqTkVHVm5EaXNsTDFVVkNKYzFCVU1KcjNwalQvV0g4d2s0UzJYWmhwRWdVQmpQYgpDM3Y5czkxNHh6SjhXYWFtUFZPVGZMRmxzRWFLNnJpMFhjQkhXQi9ob1R1aDVKaDByS1RNWWFMTm9SdU00VCt6Ci9zUG1aY1ZMVXcxdHFmd3U5YlVpSTJCQURQNFM2MUFubk5hSnF1UmFWRk8vT1pqZUkvbHJzMVBSQW9HQkFPem0KVTNvcjNuSDh4WHI2WDNJUjRDM3l3TkZLaHNVVE44VmdWNWRVL0U5RmRHTldUVzRkWHdCK01jeUlQMlFLbjlycwpmcU9Cb0c3NlRKVHF0YzVobjY5Q014c1lVNVdPcDhOZW9oaXplY1luSTFjTk94TmZwdzZDdUZVb1pmTFFxU1dICmJ4dEVEaFkrcXJjR2FLZ3VzMk1uMkJ2cEg1bUhCTk5DL05pSVZ1WTdBb0dBZFlnVEhkOHVuSjBockJCdUpsR1kKN3p2YzRKb2RMV0RYZWpNQ2lQOGp6RXhZc1VNWXgzVnV0aUdtRmtpS2JWSnFSOHdzNVY0MEJJY3VlcHVjWmQyWApsSDZNekNQTjBVNmV4eWxPTmVidlowL2dxUmxWb3BMa0dpTkJwVkkzWjNaeVdYaElhNXJLamJwSWpuSjNVeTFJCnpBQWFLSk5nKzJrZEQwc1FibnlDaURFQ2dZQVFDZVA2OEg5bDdqd2NnRmozNnhmblpIa0RjbTAvYUhhdEtVR2sKNEQ4WXl0WC9aN2RrVGg3QmRNbkFWRFVlZTgyb3o3d2ZLOGFGM1BKVVhyT2lYbCttU1BBVzFJWE1LVlZZVjg3WApwMGNHVUY0SEpjRXJKWjIwME1yVUVTRWQyRnlyU3NrTjZvU2RvdTZCNTdBc09zVXdZR0UwT290R0pLc0I5cFlSCnZ1RkxRd0tCZ1FEZVFuRElPaUQ2SEpmc2loTC8xZ3dnS0hVeVc2WGYrNFhQODd3ZlVXT1N0SEpza29oTkZHdk8KSnpNdUFvc2V2UGFWdElCSXBZbFgycUlaaHlhdyt2VW9BUTZYRnR3WjM1QWo1T1VPbVFQQUJWbkVXZUJZRzdSaQpaZmhEU2NTek5xb3ozWFpjMnA4a2VMWE1XOWJsTDNNOTdOMFRLbExuZ0NrSTdoaXJMVGE2T0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=",
        "clustertype_text": "kubernetes",
        "controllerid_text": "192.168.0.3",
        "row_num_": 1
      }
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» total integer true none none
» rows [object] true none none
»» id string false none none
»» name string false none 集群名称
»» cpcid string false none 所属算力中心,前端转ID为名称
»» clustertype string false none 集群类型,前端不显示
»» controllerid string false none 控制节点,前端不显示
»» enable_date string false none 启用日期
»» clusterjoin string false none 集群注册码
»» export_date string false none 停止日期
»» kubeconfig string false none 集群上下文,前端隐藏,给pcapi用的
»» clustertype_text string false none 集群类型文字
»» controllerid_text string false none 控制节点文字
»» ready integer true none 集群状态,0:正在安装,1:安装完成
»» row_num_ integer false none none
» status boolean true none none
» msg string true none none

POST 算力集群基础信息更新

POST /dev/cpcc/cpccluster/update_cpccluster.dspy

修改某算力集群的基础信息

注意:前端需要处理一下,只能修改集群名称和两个时间参数,其他参数不允许修改!!!

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 所属算力中心ID
id query string 是 算力集群id
controllerid query string 否 集群控制节点id
name query string 否 集群名称
cluster_type query string 否 集群类型,0为kubernetes,1为slurm
clusterjoin query string 否 集群注册码
enable_date query string 否 启用时间
export_date query string 否 停止时间

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

GET 获取空闲的算力设备

GET /dev/cpcc/cpcnode/get_cpcidle_device.dspy

用于创建集群时选择空闲设备(选择IP)。

注意:创建集群或新增集群工作节点时需要先获取到空闲状态的算力设备(IP)!!!

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id

返回示例

200 Response

{
  "status": true,
  "msg": "获取空闲设备成功",
  "data": [
    {
      "id": "XLUBumc_RzHBStQfpi5u0",
      "name": "gpu设备1",
      "clusterid": null,
      "node_status": "0",
      "ip": "192.168.0.8",
      "devicetype": "1",
      "sshport": 22,
      "adminuser": "ysh",
      "adminpwd": "Kyy@123456",
      "cpcid": "AROU9udKtPNyh0AZtO_WY",
      "enable_date": "2025-05-16",
      "export_date": "2026-06-17"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» id string true none none
» ip string true none none
» node_status string true none 0空闲,1占用

GET 实时集群资源实例看板

GET /dev/cpcc/cpcpod/get_cpcpod.dspy

查看实时集群资源实例信息,字段解释详见下方

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心ID
clusterid query string 是 算力集群ID

返回示例

200 Response

{
  "status": true,
  "msg": "获取集群实时资源实例成功",
  "data": {
    "total": 1,
    "rows": [
      {
        "pod_namespace": "4hbm8atruisou2bs24t-n-miwuhbeedm8mwafpiq8ps",
        "pod_name": "q2aodptfquogblu5nzblt-statefulset-0",
        "pod_ready": "1/1",
        "pod_running": "Running",
        "pod_restart": "0",
        "pod_age": "16h",
        "pod_ip": "10.244.5.36",
        "pod_node": "k8s-worker-20250408132243",
        "pod_nominated_node": "无",
        "pod_cpurate": "0.004核",
        "pod_memrate": "2.539Mi",
        "pod_gpu": "0",
        "pod_cpu_limit": "2",
        "pod_memory_limit": "5Gi",
        "pod_gpu_limit": "0"
      }
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» pod_namespace string true none 命名空间 none
»»» pod_name string true none 资源实例名称 none
»»» pod_ready string true none 就绪状态 none
»»» pod_running string true none 运行状态 none
»»» pod_restart string true none 重启次数 none
»»» pod_age string true none 运行时长 d是天,h是小时,m是分钟,s是秒
»»» pod_ip string true none 集群内部IP none
»»» pod_node string true none Pod节点主机名 none
»»» pod_nominated_node string true none 指定节点/调度模式 默认值:自动调度
»»» pod_cpurate string true none cpu使用数 none
»»» pod_memrate string true none 内存使用数 none
»»» pod_gpu string true none GPU使用数 none
»»» pod_cpu_limit string true none CPU限制 none
»»» pod_memory_limit string true none 内存限制 none
»»» pod_gpu_limit string true none GPU限制 none
»»» pod_readiness_gates [string] true none none

GET 实时集群成员节点看板

GET /dev/cpcc/cpcworker/get_cpcworker.dspy

查看试试集群成员节点列表信息,字段解释详见下方

给pcapi的人看的

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心ID
clusterid query string 是 算力集群ID

返回示例

200 Response

{
  "status": true,
  "msg": "获取集群实时成员节点成功",
  "data": {
    "total": 2,
    "rows": [
      {
        "node_name": "k8s-master",
        "node_status": "已就绪",
        "node_role": "控制节点",
        "node_age": "70d",
        "node_version": "v1.28.2",
        "node_internalip": "192.168.0.3",
        "node_externalip": "未分配",
        "node_osversion": "Ubuntu 22.04.1 LTS",
        "node_kernelversion": "5.15.0-91-generic",
        "node_containeruntime": "containerd://1.7.24",
        "node_labels": [
          "kyy-gpu=false"
        ],
        "node_cpurate": "21.2%",
        "node_memrate": "1.4%",
        "node_gpu": "0%",
        "available_cpu": "3.15核",
        "available_memory": "15.30Gi",
        "available_gpu": 0
      },
      {
        "node_name": "k8s-worker-20250408132243",
        "node_status": "已就绪",
        "node_role": "工作节点",
        "node_age": "65d",
        "node_version": "v1.28.2",
        "node_internalip": "192.168.0.2",
        "node_externalip": "未分配",
        "node_osversion": "Ubuntu 22.04.1 LTS",
        "node_kernelversion": "5.15.0-91-generic",
        "node_containeruntime": "containerd://1.7.24",
        "node_labels": [
          "kyy-gpu=false"
        ],
        "node_cpurate": "60.0%",
        "node_memrate": "34.8%",
        "node_gpu": "0%",
        "available_cpu": "1.60核",
        "available_memory": "10.11Gi",
        "available_gpu": 0
      }
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» node_name string true none 主机名 none
»»» node_status string true none 运行状态 none
»»» node_role string true none 节点角色 none
»»» node_age string true none 运行时长 none
»»» node_version string true none kubernetes版本 none
»»» node_internalip string true none 内网IP none
»»» node_externalip string true none 外网IP none
»»» node_osversion string true none 操作系统版本 none
»»» node_kernelversion string true none 内核版本 none
»»» node_containeruntime string true none 容器运行时版本 none
»»» node_labels [string] true none 节点标签 none
»»» node_cpurate string true none CPU利用率 none
»»» node_memrate string true none 内存利用率 none
»»» node_gpu string true none GPU利用率 none
»»» available_cpu string true none 可用CPU none
»»» available_memory string true none 可用内存 none
»»» available_gpu integer true none 可用GPU none

POST 新增集群资源实例配置

POST /dev/cpcc/cpcpodyaml/new_cpcpodyaml.dspy

1.通过pcapi_kboss前端输入资源实例参数/操作指令给pcapi_kboss后端,再中转给算力中心pcapi服务进行kubernetes核心API操作,级联创建相应的资源实例; 2.目前算力中心pcapi服务有且仅支持Linux操作系统Ubuntu:22.04和关系型数据库MySQL:8.0; 3.算力中心pcapi服务操作结果返回给pcapi_kboss后端,pcapi_kboss后端再反馈给前端操作结果即可。

请求参数

名称 位置 类型 必选 说明
clusterid query string 是 集群唯一标识ID
source_name query string 是 资源实例的名称
source_authuser query string 是 初始认证账号
source_authpasswd query string 是 初始认证密码
source_podengine query string 是 资源实例控制器,下拉框,默认StatefulSet,Deployment,DaemonSet,CronJob,Job,Standalone
source_replicasetnum query string 是 HPA副本数
instance_type query string 是 资源实例类型,下拉框,默认LinuxOS为Linux操作系统,RelationalDB为关系型数据库
pod_imagepath query string 是 基础镜像,下拉框,默认docker.io/library/ubuntu:22.04,docker.io/library/mysql:8.0,docker.io/jupyter/base-notebook:latest
source_memrate query string 是 内存资源限制
source_cpurate query string 是 CPU资源限制
source_selflabel query string 是 自定义标签,用于资源分类
source_gpu query string 是 分配GPU个数
source_portmode query string 是 服务暴露的端口模式,下拉框,默认NodePort,Ingress,LoadBalancer
source_restartpolicy query string 是 容器重启策略,下拉框,默认Always,OnFailure,Never
source_apiport query string 是 服务对外提供的端口
source_insideport query string 是 容器内部监听的端口
source_outsideport query string 是 通过NodePort暴露的节点端口
source_mountpath query string 是 容器内的挂载路径
source_storagelimits query string 是 存储资源限制
source_nodeselector query string 是 节点选择器
orgid query string 否 线下调试/非登录态可指定组织ID进行操作
cpu_model query string 是 CPU型号
gpu_model query string 是 显卡型号
disk_sys_limit query string 是 默认系统盘空间
userid query string 否 none

返回示例

200 Response

{
  "status": true,
  "msg": "新增资源实例参数成功,请10秒后查看实时资源实例面板",
  "data": {
    "action": "apply",
    "namespace_name": "4hbm8atruisou2bs24t-n-miwuhbeedm8mwafpiq8ps",
    "serviceaccount_name": "4hbm8atruisou2bs24t-n-miwuhbeedm8mwafpiq8ps-serviceaccount",
    "podcd_name": "evfldtxjkr3jd8zxnfhd5-statefulset",
    "service_name": "evfldtxjkr3jd8zxnfhd5-service",
    "instance_type": "LinuxOS",
    "clusterid": "4hBm8atruISOU2bs24t_N",
    "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
    "pod_imagepath": "docker.io/library/ubuntu:22.04",
    "source_apiport": "6035",
    "source_authpasswd": "kyycloud",
    "source_authuser": "root",
    "source_cpurate": "1000m",
    "source_insideport": "3306",
    "source_memrate": "512Mi",
    "source_mountpath": "/mnt/data",
    "source_name": "kyy-new5090gpu-ubuntu2204",
    "source_outsideport": "30063",
    "source_podengine": "StatefulSet",
    "source_portmode": "NodePort",
    "source_replicasetnum": "1",
    "source_restartpolicy": "Always",
    "source_selflabel": "app:ubuntu3",
    "source_storagelimits": "49Gi",
    "source_nodeselector": "kyy-gpu=false",
    "id": "evfldtxjkr3jd8zxnfhd5",
    "cpcid": "AROU9udKtPNyh0AZtO_WY"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» action string true none none
»» namespace_name string true none none
»» serviceaccount_name string true none none
»» podcd_name string true none none
»» service_name string true none none
»» instance_type string true none none
»» clusterid string true none none
»» orgid string true none none
»» pod_imagepath string true none none
»» source_apiport string true none none
»» source_authpasswd string true none none
»» source_authuser string true none none
»» source_cpurate string true none none
»» source_insideport string true none none
»» source_memrate string true none none
»» source_mountpath string true none none
»» source_name string true none none
»» source_outsideport string true none none
»» source_podengine string true none none
»» source_portmode string true none none
»» source_replicasetnum string true none none
»» source_restartpolicy string true none none
»» source_selflabel string true none none
»» source_storagelimits string true none none
»» id string true none none
»» cpcid string true none none

GET 获取集群资源实例配置

GET /dev/cpcc/cpcpodyaml/get_cpcpodyaml.dspy

获取资源实例的配置,普通用户和管理员都是 后续会把实时资源实例看板数据接口和这个进行优化展示,目前先这样吧

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心ID
clusterid query string 是 算力集群ID

返回示例

200 Response

{
  "status": true,
  "msg": "获取资源实例静态配置成功",
  "data": {
    "total": 1,
    "rows": [
      {
        "id": "evfldtxjkr3jd8zxnfhd5",
        "namespace_name": "4hbm8atruisou2bs24t-n-miwuhbeedm8mwafpiq8ps",
        "serviceaccount_name": "4hbm8atruisou2bs24t-n-miwuhbeedm8mwafpiq8ps-serviceaccount",
        "podcd_name": "evfldtxjkr3jd8zxnfhd5-statefulset",
        "service_name": "evfldtxjkr3jd8zxnfhd5-service",
        "clusterid": "4hBm8atruISOU2bs24t_N",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "source_name": "kyy-new5090gpu-ubuntu2204",
        "source_authuser": "root",
        "source_authpasswd": "kyycloud",
        "source_podengine": "StatefulSet",
        "source_replicasetnum": 1,
        "pod_imagepath": "docker.io/library/ubuntu:22.04",
        "source_memrate": "512Mi",
        "source_cpurate": "1000m",
        "source_selflabel": "app:ubuntu3",
        "source_portmode": "NodePort",
        "source_restartpolicy": "Always",
        "source_apiport": 6035,
        "source_insideport": 3306,
        "source_outsideport": 30063,
        "source_mountpath": "/mnt/data",
        "source_storagelimits": "49Gi",
        "instance_type": "LinuxOS",
        "source_nodeselector": "kyy-gpu=false",
        "username": "kyy-运营",
        "row_num_": 1
      }
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» id string true none id none
»»» namespace_name string true none 命名空间 none
»»» serviceaccount_name string true none 命名空间服务认证 none
»»» podcd_name string true none 资源控制器名称 none
»»» service_name string true none 服务名称 none
»»» clusterid string true none 集群id none
»»» cpcid string true none 算力中心id none
»»» source_name string true none 资源名称 none
»»» source_authuser string true none 初始认证账号 none
»»» source_authpasswd string true none 初始认证密码 none
»»» source_podengine string true none 资源控制器 none
»»» source_replicasetnum string true none HPA副本数 none
»»» pod_imagepath string true none 资源基础镜像 none
»»» source_memrate string true none 资源内存限制 none
»»» source_cpurate string true none 资源CPU限制 none
»»» source_selflabel string true none 资源自身标签 none
»»» source_portmode string true none 端口映射模式 none
»»» source_restartpolicy string true none 重启策略 none
»»» source_apiport string true none 资源内部监听端口 none
»»» source_insideport string true none 集群内部映射端口 none
»»» source_outsideport string true none 集群外部映射端口 none
»»» source_mountpath string true none 容器内挂载点 none
»»» source_storagelimits string true none 数据存储大小限制 none
»»» instance_type string true none 资源实例类型 none
»»» source_nodeselector string true none 节点选择器 none
»»» username string true none 所属用户 none

POST 更新集群资源实例配置

POST /dev/cpcc/cpcpodyaml/update_cpcpodyaml.dspy

更新资源实例配置,参数类似新增资源实例参数接口传递方式

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心ID
clusterid query string 是 集群唯一标识ID
id query string 否 资源实例配置ID
source_name query string 是 资源实例的名称
source_authuser query string 是 初始认证账号
source_authpasswd query string 是 初始认证密码
source_podengine query string 是 资源实例控制器,下拉框,默认StatefulSet,Deployment,DaemonSet,CronJob,Job,Standalone
source_replicasetnum query string 是 HPA副本数
instance_type query string 是 资源实例类型,下拉框,默认LinuxOS为Linux操作系统,RelationalDB为关系型数据库
pod_imagepath query string 是 基础镜像,下拉框,默认docker.io/library/ubuntu:22.04,docker.io/library/mysql:8.0,docker.io/jupyter/base-notebook:latest
source_memrate query string 是 内存资源限制
source_cpurate query string 是 CPU资源限制
source_selflabel query string 是 自定义标签,用于资源分类
source_portmode query string 是 服务暴露的端口模式,下拉框,默认NodePort,Ingress,LoadBalancer
source_restartpolicy query string 是 容器重启策略,下拉框,默认Always,OnFailure,Never
source_apiport query string 是 服务对外提供的端口
source_insideport query string 是 容器内部监听的端口
source_outsideport query string 是 通过NodePort暴露的节点端口
source_mountpath query string 是 容器内的挂载路径
source_storagelimits query string 是 存储资源限制
source_nodeselector query string 否 节点选择器
orgid query string 否 线下调试/非登录态可指定组织ID进行操作

返回示例

200 Response

{
  "status": true,
  "msg": "资源参数更新成功,请10秒后查看实时资源实例面板",
  "data": {
    "clusterid": "4hBm8atruISOU2bs24t_N",
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "id": "evfldtxjkr3jd8zxnfhd5",
    "instance_type": "LinuxOS",
    "orgid": "mIWUHBeeDM8mwAFPIQ8pS",
    "pod_imagepath": "docker.io/library/ubuntu:22.04",
    "source_apiport": "6035",
    "source_authpasswd": "kyycloud",
    "source_authuser": "root",
    "source_cpurate": "1000m",
    "source_insideport": "3306",
    "source_memrate": "512Mi",
    "source_mountpath": "/mnt/data",
    "source_name": "kyy-new5090gpu-ubuntu2204",
    "source_outsideport": "30063",
    "source_podengine": "StatefulSet",
    "source_portmode": "NodePort",
    "source_replicasetnum": "2",
    "source_restartpolicy": "Always",
    "source_selflabel": "app:ubuntu3",
    "source_nodeselector": "kyy-gpu=false",
    "source_storagelimits": "49Gi"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 删除集群资源实例配置

POST /dev/cpcc/cpcpodyaml/delete_cpcpodyaml.dspy

根据资源实例配置级联删除集群中的相关资源及实例

请求参数

名称 位置 类型 必选 说明
id query string 是 要删除的资源实例配置id
orgid query string 否 线下调试/非登录态可指定组织ID进行操作

返回示例

200 Response

{
  "status": true,
  "msg": "级联删除集群资源成功,请10秒后查看实时资源实例面板",
  "data": {
    "id": "evfldtxjkr3jd8zxnfhd5"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 算力中心新建算力集群(调试中)

POST /dev/cpcc/cpccluster/new_cluster.dspy

重操作约5分钟!!! Web前端创建算力集群,Web后端接收到参数后传递参数给算力中心服务pcapi。 pcapi进行ssh远程到某算力设备中进行安装算力集群(控制节点),安装结果字段返回给Web后端进行存库。 中间是一连贯操作,请确保Web前后端之间接口有超时判断能力。

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
ctl_nodeid query string 是 集群控制节点的id
cluster_type query string 是 集群类别,0是kubernetes,1是slurm
cluster_name query string 是 集群名称
enable_date query string 是 启用时间
export_date query string 是 停用时间

返回示例

{
  "status": true,
  "msg": "操作成功!\n加入集群凭证: kubeadm join 192.168.0.3:6443 --token nt80u6.gzpj9dxsrw79270c --discovery-token-ca-cert-hash sha256:7b33439b2a1b37a8d8938513bd45405f57c3255771c3b9b9b90af448d886b0c2",
  "data": {
    "id": "RJZ2GMHSWGVG7iRk_AJYm",
    "node_status": "1",
    "clusterid": "4hBm8atruISOU2bs24t_N",
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "role": "master"
  }
}
{
  "status": false,
  "msg": "算力中心服务操作失败"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» id string true none none
»» node_status string true none none
»» clusterid string true none none
»» cpcid string true none none
»» role string true none none

POST 算力中心移除算力集群(未开发)

POST /computing/cpcluster_delete.dspy

重操作约1分钟!!!

请求参数

名称 位置 类型 必选 说明
id query string 是 算力集群查找返回的id

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

pcapi_kboss容器云/算力部件(含计价)管理

POST 新增算力部件

POST /dev/cpcc/cpcwidget/add_cpcwidget.dspy

添加算力部件,其中包含CPU核数,CPU型号,内存用量,GPU个数等信息

注意:

  1. 每个算力中心下的算力部件不一样!
  2. 添加相同类型和系列的组件,不会新增记录

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
clusterid query string 是 算力集群id
type query string 是 算力部件类型(下拉框,cpu/memory/disk/gpu)
resource_unit query string 是 资源分配单位(下拉框,跟随type字段,个cpu/Gi内存/Gi存储/张显卡)
unit_price query string 是 单位单价数额(1.99元每分钟每Mi)
model query string 是 算力部件型号,默认STANDARD
stock query integer 是 库存量,默认为0,显示无货,超过0显示有货
charge_unit query string 是 计费周期(下拉框,默认小时/分钟/秒/天)
account_unit query string 是 计费人民币单位(下拉框,默认元/角/分)
add_opt query string 是 下拉框,是否是增加库存操作,默认给no,可选yes

返回示例

{
  "status": false,
  "msg": "该部件已存在,请前往编辑!"
}
{
  "status": true,
  "msg": "新增算力部件成功",
  "data": {
    "account_unit": "元",
    "charge_unit": "小时",
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "model": "INTEL(R) XEON(R) PLATINUM 8582C",
    "resource_unit": "m",
    "stock": "0",
    "type": "cpu",
    "unit_price": "1.99",
    "id": "SwaVSlL6RtORQrNTqAGi6",
    "update_time": "2025-06-03 16:24:28"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

GET 获取算力部件

GET /dev/cpcc/cpcwidget/get_cpcwidget.dspy

展示该算力中心下所有的算力部件

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id

返回示例

200 Response

{
  "status": true,
  "msg": "获取算力部件成功",
  "data": {
    "total": 14,
    "rows": [
      {
        "id": "SwaVSlL6RtORQrNTqAGi6",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "cpu",
        "model": "INTEL(R) XEON(R) PLATINUM 8582C",
        "unit_price": 1.5,
        "resource_unit": "核",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:56",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "OmME0B0AQjCkr__TT2LSZ",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "cpu",
        "model": "STANDARD",
        "unit_price": 2.2,
        "resource_unit": "核",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:53",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "e6FGUkiEN6uujVfNp6oBK",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "cpu",
        "model": "AMD EPYC 7542 32-Core Processor",
        "unit_price": 0.8,
        "resource_unit": "核",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:50",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "meebE6wMvHi0eLHw-GGkJ",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "disk",
        "model": "DATA",
        "unit_price": 0.01,
        "resource_unit": "Gi",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:54",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "JFaQH-YjuYjfX7oy7lojF",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "disk",
        "model": "SYS",
        "unit_price": 0.005,
        "resource_unit": "Gi",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:51",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "XXXe35qAC1E0Dqu2GN5pN",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "gpu",
        "model": "STANDARD-8G",
        "unit_price": 2,
        "resource_unit": "卡",
        "stock": 5,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 16:29:22",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_X",
            "clustername": "通州区",
            "stock": 2,
            "consumed": 0
          },
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 3,
            "consumed": 0
          }
        ]
      },
      {
        "id": "Rj-YyF__ELLvosq6Mgxjn",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "gpu",
        "model": "A100-80G",
        "unit_price": 18,
        "resource_unit": "卡",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:55",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "ImmA3ghOcrQ-Ltebmm1x2",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "gpu",
        "model": "RTX5090-32G",
        "unit_price": 6,
        "resource_unit": "卡",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:51",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "BCEJAaX7pt20bfni4hJbp",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "gpu",
        "model": "RTX4090-24G",
        "unit_price": 4,
        "resource_unit": "卡",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:48",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "aHUd2O5sawlVqsn2icysS",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "gpu",
        "model": "V100-32G",
        "unit_price": 12,
        "resource_unit": "卡",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:47",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "uSOsd4iM5ohtDvJPMqE-h",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "memory",
        "model": "Samsung DDR4 DIMMs",
        "unit_price": 0.005,
        "resource_unit": "Gi",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:57",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "PC9YvPO3pJ_I1_fd8xvca",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "memory",
        "model": "STANDARD",
        "unit_price": 0.0004,
        "resource_unit": "Gi",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:55",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "LLHswyKb78yYPMZIDBbjd",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "memory",
        "model": "Crucial P-series",
        "unit_price": 0.0005,
        "resource_unit": "Gi",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:52",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      },
      {
        "id": "B2Jl1_6P7mMdIdtvO-Qcf",
        "cpcid": "AROU9udKtPNyh0AZtO_WY",
        "type": "memory",
        "model": "Kingston FURY",
        "unit_price": 0.0002,
        "resource_unit": "Gi",
        "stock": 0,
        "consumed": 0,
        "charge_unit": "小时",
        "account_unit": "元",
        "update_time": "2025-06-10 15:22:47",
        "import_export": [
          {
            "clusterid": "4hBm8atruISOU2bs24t_N",
            "clustername": "朝阳区",
            "stock": 0,
            "consumed": 0
          }
        ]
      }
    ]
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total integer true none none
»» rows [object] true none none
»»» id string true none none
»»» cpcid string true none 算力中心ID
»»» type string true none 算力部件类型,目前只有cpu/memory/disk/gpu四种固定类型
»»» model string true none 部件型号/系列
»»» unit_price number true none 单位单价数额(2.5元/Mi*小时)
»»» resource_unit string true none 计费资源单位(个核/Mi内存/Gi存储/块gpu)
»»» stock integer true none 总库存数
»»» consumed integer true none 总消耗数
»»» charge_unit string true none 计费周期单位(小时/分钟/秒/天)
»»» account_unit string true none 计费货币单位(元/角/分)
»»» update_time string true none 更新时间
»»» import_export [object] true none 库存元数据
»»»» clusterid string true none 集群名
»»»» clustername string true none 集群id
»»»» stock integer true none 库存数
»»»» consumed integer true none 消耗数
»»» clusterid string true none 算力集群ID
»»» row_num_ integer true none none

GET 部件组合询价

GET /dev/cpcc/cpcwidget/accrual_price.dspy

客户端通过此接口,查询不同算力部件组合后的产品定价

如用户要查询某些部件组合运行2天的定价,可以传参数(下面参数说明不支持array友好显示,array里面每项都是字典/json,看这里就行,amount字段值是 整型): { "resources": [ {"type": "cpu", "model": "INTEL(R) XEON(R) PLATINUM 8582C", "amount": 4}, {"type": "memory", "model": "Samsung DDR4 DIMMs", "amount": 8192}, # 8GB必须转成8192Mi {"type": "disk", "model": "DATA", "amount": 512}, {"type": "gpu", "model": "RTX5090-32G", "amount": 2} ], "duration": 2, "duration_unit": "天" } 进行计算,其他条件同理

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
resources query array[string] 是 1. 多种算力部件自由组合成的数组;
duration query integer 是 使用时长,整数
duration_unit query string 是 使用时长单位,可以是小时,天,周,月
clusterid query string 否 集群id,查看集群库存

详细说明

resources: 1. 多种算力部件自由组合成的数组; 2. 内存一定是以Mi为单位(如8GB必须转成8192Mi),其他单位要提前转成Mi级; 3.字段解释: type: 部件类型,下拉cpu,memory,disk,gpu model:部件子类型,自定义填写 amount:部件使用量,整型,输入框后面显示单位(cpu-核,memory-Mi,disk-Gi,gpu-卡)

返回示例

{
  "status": true,
  "msg": "获取部件组合价格成功",
  "data": {
    "total_price": 64.08,
    "currency": "元",
    "price_details": [
      {
        "resource_name": "cpu INTEL(R) XEON(R) PLATINUM 8582C",
        "resource_type": "cpu",
        "amount": 4,
        "resource_unit": "核",
        "unit_price": 1.5,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 6
      },
      {
        "resource_name": "memory Samsung DDR4 DIMMs",
        "resource_type": "memory",
        "amount": 8192,
        "resource_unit": "Mi",
        "unit_price": 0.005,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 40.96
      },
      {
        "resource_name": "disk DATA",
        "resource_type": "disk",
        "amount": 512,
        "resource_unit": "Gi",
        "unit_price": 0.01,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 5.12
      },
      {
        "resource_name": "gpu RTX5090-32G",
        "resource_type": "gpu",
        "amount": 2,
        "resource_unit": "卡",
        "unit_price": 6,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 12
      }
    ],
    "status": true,
    "message": "汇算正常",
    "duration": "1",
    "duration_unit": "小时"
  }
}
{
  "status": false,
  "msg": "无效的 gpu 部件型号: RTXs5090-32G",
  "data": {
    "total_price": 52.08,
    "currency": "元",
    "price_details": [
      {
        "resource_name": "cpu INTEL(R) XEON(R) PLATINUM 8582C",
        "resource_type": "cpu",
        "amount": 4,
        "resource_unit": "核",
        "unit_price": 1.5,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 6
      },
      {
        "resource_name": "memory Samsung DDR4 DIMMs",
        "resource_type": "memory",
        "amount": 8192,
        "resource_unit": "Mi",
        "unit_price": 0.005,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 40.96
      },
      {
        "resource_name": "disk DATA",
        "resource_type": "disk",
        "amount": 512,
        "resource_unit": "Gi",
        "unit_price": 0.01,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 5.12
      },
      {
        "resource_type": "gpu",
        "error": "无效的 gpu 部件型号: RTXs5090-32G"
      }
    ],
    "status": false,
    "message": "无效的 gpu 部件型号: RTXs5090-32G",
    "duration": "1",
    "duration_unit": "小时"
  }
}
{
  "status": false,
  "msg": "memory Samsung DDR4 DIMMs 库存不足 (库存: 1280, 请求: 8192)",
  "data": {
    "total_price": 23.12,
    "currency": "元",
    "price_details": [
      {
        "resource_name": "cpu INTEL(R) XEON(R) PLATINUM 8582C",
        "resource_type": "cpu",
        "amount": 4,
        "resource_unit": "核",
        "unit_price": 1.5,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 6
      },
      {
        "resource_type": "memory",
        "error": "memory Samsung DDR4 DIMMs 库存不足 (库存: 1280, 请求: 8192)"
      },
      {
        "resource_name": "disk DATA",
        "resource_type": "disk",
        "amount": 512,
        "resource_unit": "Gi",
        "unit_price": 0.01,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 5.12
      },
      {
        "resource_name": "gpu RTX5090-32G",
        "resource_type": "gpu",
        "amount": 2,
        "resource_unit": "卡",
        "unit_price": 6,
        "duration": "1",
        "duration_unit": "小时",
        "subtotal": 12
      }
    ],
    "status": false,
    "message": "memory Samsung DDR4 DIMMs 库存不足 (库存: 1280, 请求: 8192)",
    "duration": "1",
    "duration_unit": "小时"
  }
}
{
  "status": false,
  "msg": "没有该类型组件",
  "data": {
    "total_price": 0,
    "currency": "元",
    "price_details": [
      {
        "resource_type": "cpu",
        "error": "没有该类型组件"
      },
      {
        "resource_type": "memory",
        "error": "没有该类型组件"
      },
      {
        "resource_type": "disk",
        "error": "没有该类型组件"
      },
      {
        "resource_type": "gpu",
        "error": "没有该类型组件"
      }
    ],
    "status": false,
    "message": "没有该类型组件",
    "duration": 1,
    "duration_unit": "小时"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» total_price number true none none
»» currency string true none none
»» price_details [object] true none none
»»» resource_name string true none none
»»» resource_type string true none none
»»» amount integer true none none
»»» resource_unit string true none none
»»» unit_price number true none none
»»» duration string true none none
»»» duration_unit string true none none
»»» subtotal integer true none none
»» status boolean true none 接口状态 none
»» message string true none 接口信息 none
»» duration string true none 时间间隔长度 2
»» duration_unit string true none 时间间隔单位 小时/天/周/月

POST 更新算力部件单价

POST /dev/cpcc/cpcwidget/update_cpcwidget.dspy

更新算力部件信息

注意: 1.只能更新单位单价! 2.必须登录态才能操作!

请求参数

名称 位置 类型 必选 说明
id query string 否 获取算力部件得到的id
cpcid query string 是 算力中心id
unit_price query string 是 更新单位单价,浮点数,apifox不支持设置浮点格式,请注意
type query string 是 算力部件类型
model query string 是 gpu型号系列

返回示例

200 Response

{
  "status": true,
  "msg": "更新算力部件成功",
  "data": {
    "cpcid": "AROU9udKtPNyh0AZtO_WY",
    "id": "YnTYUrOhKTB_WjuK8zNj5",
    "unit_price": "0.0009"
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 移除算力部件

POST /dev/cpcc/cpcwidget/delete_cpcwidget.dspy

移除算力中心部件

请求参数

名称 位置 类型 必选 说明
id query string 是 节点部件查找返回的id
cpcid query string 是 算力中心id

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

pcapi_kboss容器云/算力集群节点管理(未开发)

POST 算力集群新增工作节点(调试中)

POST /dev/cpcc/cpcworker/new_cpcworker.dspy

重操作约3分钟!!! Web前端给某集群新增算力节点,Web后端接收到参数后传递参数给算力中心服务pcapi。 pcapi进行ssh远程到某算力设备中进行安装算力集群(控制节点),安装结果字段返回给Web后端进行存库。 中间是一连贯操作,请确保Web前后端之间接口有超时判断能力。

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
clusterid query string 是 选中集群id
worker_nodeid query string 是 选中算力设备id

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

POST 算力集群移除工作节点(未开发)

POST /

重操作约1分钟!!!

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

pcapi_kboss容器云/购买页通用接口(调试中)

GET 获取站点GPU资源配置库存

GET /dev/cpcc/cpcwidget/obtaining_gpuinfo.dspy

购买页GPU算力资源(含库存信息) 获取去重后显示该算力中心下的GPU算力资源 以算力集群为最小单位获取资源

请求参数

名称 位置 类型 必选 说明
cpcid query string 否 算力中心id
clusterid query string 否 算力集群id

返回示例

{
  "status": true,
  "msg": "获取集群GPU库存成功",
  "data": {
    "V100-32G": 8,
    "RTX4090-24G": 12,
    "RTX5090-32G": 10,
    "A100-80G": 5,
    "STANDARD-8G": 1
  }
}
{
  "status": true,
  "msg": "获取集群GPU库存成功",
  "data": {
    "V100-32G": 8,
    "RTX4090-24G": 12,
    "RTX5090-32G": 10,
    "另一个算力集群(不同算力中心下)显卡型号XXX-12G": 1,
    "A100-80G": 5,
    "STANDARD-8G": 1
  }
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none none
» msg string true none none
» data object true none none
»» V100-32G integer true none none
»» RTX4090-24G integer true none none
»» RTX5090-32G integer true none none
»» A100-80G integer true none none
»» STANDARD-8G integer true none none

GET 获取站点不可部署产品ID

GET /dev/cpcc/cpcbuy/determine_accommodat.dspy

  1. 判断购买页的产品组合是否能完整部署到某站点/集群中的可用节点上?
  2. 原理:资源实例是运行在某节点上的,至少有一个工作节点拥有用户勾选的所有部件库存可用量时才可进行下一步,否则报无可用节点!
  3. 入参:算力中心-集群中若干算力部件参数组组成的JSON
  4. 出参:置灰/不可部署产品id组成的数组

请求参数

名称 位置 类型 必选 说明
cpcid query string 是 算力中心id
clusterid query string 是 集群id
resources query string 是 请求资源详情
kyylabels query string 是 none

返回示例

200 Response

{
  "status": true,
  "msg": "获取不可部署产品ID成功",
  "data": [
    "5436-f-gdsb--ewrewrerrtwt",
    "6787jhgvgjhv32412343142jvgj"
  ],
  "reason": "dynamic"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK none Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» status boolean true none 接口状态
» msg string true none 接口状态详情
» data [string] true none none
» reason string true none 判定环节

数据模型