pcapi_pcapi_kboss.html和此文档内容是一样的不要纠结看哪个呈现形式(html直接打开看网页/markdown预览)不一样而已~


title: pcapi_kboss language_tabs:

  • shell: Shell
  • http: HTTP
  • javascript: JavaScript
  • ruby: Ruby
  • python: Python
  • php: PHP
  • java: Java
  • go: Go toc_footers: [] includes: [] search: true code_clipboard: true highlight_theme: darkula headingLevel: 2 generator: "@tarslib/widdershins v4.0.30"

pcapi_kboss

Base URLs:

Authentication

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为kubernetes1为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 资源实例控制器下拉框默认StatefulSetDeploymentDaemonSetCronJobJobStandalone
source_replicasetnum query string HPA副本数
instance_type query string 资源实例类型下拉框默认LinuxOS为Linux操作系统RelationalDB为关系型数据库
pod_imagepath query string 基础镜像下拉框默认docker.io/library/ubuntu:22.04docker.io/library/mysql:8.0docker.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 服务暴露的端口模式下拉框默认NodePortIngressLoadBalancer
source_restartpolicy query string 容器重启策略下拉框默认AlwaysOnFailureNever
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 资源实例控制器下拉框默认StatefulSetDeploymentDaemonSetCronJobJobStandalone
source_replicasetnum query string HPA副本数
instance_type query string 资源实例类型下拉框默认LinuxOS为Linux操作系统RelationalDB为关系型数据库
pod_imagepath query string 基础镜像下拉框默认docker.io/library/ubuntu:22.04docker.io/library/mysql:8.0docker.io/jupyter/base-notebook:latest
source_memrate query string 内存资源限制
source_cpurate query string CPU资源限制
source_selflabel query string 自定义标签,用于资源分类
source_portmode query string 服务暴露的端口模式下拉框默认NodePortIngressLoadBalancer
source_restartpolicy query string 容器重启策略下拉框默认AlwaysOnFailureNever
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是kubernetes1是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: 部件类型下拉cpumemorydiskgpu model部件子类型自定义填写 amount部件使用量整型输入框后面显示单位cpu-核memory-Midisk-Gigpu-卡)

返回示例

{
  "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 判定环节

数据模型