组件管理相关接口
更新时间:2023-07-06
组件管理相关接口
获取组件状态
获取组件的基本信息与状态。
如果已经安装,还会返回部署参数等信息。
请求结构
Plain Text
1GET /v2/cluster/{ClusterID}/addon
2Host: cce.bj.baidubce.com
3Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
clusterID | String | 是 | URL参数 | 集群ID。 |
addons | String | 否 | Query参数 | 为空时查询所有组件的信息。查询多个组件时按逗号分隔,如cce-ingress-controller,cce-gpu-controller。取值参考文档末尾附录。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
requestID | String | 是 | 请求ID,问题定位提供该ID。 |
items | List<AddOnInfo> | 否 | 组件查询结果。每个数组元素是一个组件的查询结果。 |
code | String | 否 | 错误代码,仅在请求失败时存在。 |
message | String | 否 | 错误信息,仅在请求失败时存在。 |
请求示例
Plain Text
1GET /v2/cluster/cce-5e130ugt/addon?addons=cce-ingress-controller HTTP/1.1
2Host: cce.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
返回示例
Plain Text
1HTTP/1.1 200 OK
2X-Bce-Request-Id: aef503ab-66e2-4b7f-9044-e922389ed03f
3Date: Thu, 16 Mar 2020 06:29:48 GMT
4Content-Type: application/json;charset=UTF-8
5
6{
7 "items": [
8 {
9 "meta": {
10 "name": "cce-ingress-controller",
11 "type": "Networking",
12 "latestVersion": "1.3.5",
13 "shortIntroduction": "基于百度云应用型负载均衡产品(应用型BLB)实现K8S Ingress语义,提供七层网络负载均衡能力",
14 "defaultParams": "\n# Default values for cce-ingress-controller\n# This is a YAML-formatted file.\n# Declare variables to be passed into your templates.\n\nClusterVersion: v2\nImageID: registry.baidubce.com/cce-plugin-dev/cce-ingress-controller:rc853b4b_20230117\n\nOpenCCEGatewayEndpoint:\nBLBOpenAPIEndpoint:\nEIPOpenAPIEndpoint:\nVPCEndpoint:\nCCEV2Endpoint:\nTagEndpoint:\n\nEIPPurchaseType:\n\nRegion: # 集群地域\nClusterID: # 集群id\nConcurrentIngressSyncs: # 最多同时处理的 Service 的数量\nDefaultMaxRSCount: # 组件默认为 BLB 挂载的最大后端数\n",
15 "installInfo": {
16 "allowInstall": true
17 }
18 },
19 "instance": {
20 "name": "cce-ingress-controller",
21 "installedVersion": "2022.11.08.1552",
22 "params": "# No Params",
23 "status": {
24 "phase": "Running"
25 },
26 "uninstallInfo": {
27 "allowUninstall": true
28 },
29 "upgradeInfo": {
30 "allowUpgrade": false,
31 "nextVersion": "",
32 "message": "暂不支持升级版本"
33 },
34 "updateInfo": {
35 "allowUpdate": false,
36 "message": "不支持更新参数"
37 }
38 }
39 }
40 ],
41 "requestID": "62709f56-3f0b-4fcc-86e0-c18547ba1ce7"
42}
安装组件
向集群中安装组件。
每个组件需要的安装参数不同,部署参数均以字符串的形式传入。
请求结构
Plain Text
1POST /v2/cluster/{ClusterID}/addon
2Host: cce.bj.baidubce.com
3Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
clusterID | String | 是 | URL参数 | 集群ID。 |
name | String | 是 | Request Body参数 | 要安装的组件名称 。 |
params | String | 否 | Request Body参数 | 组件安装参数。每个组件需要的参数不同,请参照【附录】部分。部分组件不需要设置安装参数。 |
version | String | 否 | Request Body参数 | 要指定安装的组件版本。通常不需要设置该参数。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
requestID | String | 是 | 请求ID,问题定位提供该ID。 |
code | String | 否 | 错误代码,仅在请求失败时存在。 |
message | String | 否 | 错误信息,仅在请求失败时存在。 |
请求示例
Plain Text
1POST /v2/cluster/cce-5e130ugt/addon HTTP/1.1
2Host: cce.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "name": "cce-gpu-manager",
7 "params": "EnableHook: true\nEnableSGPU: true\n\n"
8}
返回示例
Plain Text
1HTTP/1.1 200 OK
2X-Bce-Request-Id: 6f593304-6787-45ea-8e0f-426ee331cc8b
3Date: Thu, 16 Mar 2020 06:29:48 GMT
4Content-Type: application/json;charset=UTF-8
5
6{
7 "requestID": "6f593304-6787-45ea-8e0f-426ee331cc8b"
8}
卸载组件
卸载集群中已经安装的组件。
请求结构
Plain Text
1DELETE /v2/cluster/{ClusterID}/addon
2Host: cce.bj.baidubce.com
3Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
clusterID | String | 是 | URL参数 | 集群ID。 |
name | String | 是 | Request Body参数 | 要卸载的组件名称。 |
instanceName | String | 否 | Request Body参数 | 要卸载的组件实例名称。仅在允许多实例部署的组件中,用于指定要卸载的组件实例。通常不会使用到该字段。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
requestID | String | 是 | 请求ID,问题定位提供该ID。 |
code | String | 否 | 错误代码,仅在请求失败时存在。 |
message | String | 否 | 错误信息,仅在请求失败时存在。 |
请求示例
Plain Text
1DELETE /v2/cluster/cce-5e130ugt/addon HTTP/1.1
2Host: cce.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "name": "cce-ingress-controller"
7}
返回示例
Plain Text
1HTTP/1.1 200 OK
2X-Bce-Request-Id: 6f593304-6787-45ea-8e0f-426ee331cc8b
3Date: Thu, 16 Mar 2020 06:29:48 GMT
4Content-Type: application/json;charset=UTF-8
5
6{
7 "requestID": "6f593304-6787-45ea-8e0f-426ee331cc8b"
8}
更新组件部署参数
更新集群中已经安装的组件的部署参数。
请求结构
Plain Text
1PUT /v2/cluster/{ClusterID}/addon
2Host: cce.bj.baidubce.com
3Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
clusterID | String | 是 | URL参数 | 集群ID。 |
name | String | 是 | Request Body参数 | 要更新的组件名称。 |
instanceName | String | 否 | Request Body参数 | 要更新的组件实例名称。仅在允许多实例部署的组件中,用于指定要更新的组件实例。通常不会使用到该字段。 |
params | String | 是 | Request Body参数 | 要更新的部署参数。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
requestID | String | 是 | 请求ID,问题定位提供该ID。 |
code | String | 否 | 错误代码,仅在请求失败时存在。 |
message | String | 否 | 错误信息,仅在请求失败时存在。 |
请求示例
Plain Text
1PUT /v2/cluster/cce-mehgoi9r/addon HTTP/1.1
2Host: cce.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "name": "cce-hybrid-manager",
7 "params": "A: a"
8}
返回示例
Plain Text
1HTTP/1.1 200 OK
2X-Bce-Request-Id: 6f593304-6787-45ea-8e0f-426ee331cc8b
3Date: Thu, 16 Mar 2020 06:29:48 GMT
4Content-Type: application/json;charset=UTF-8
5
6{
7 "requestID": "6f593304-6787-45ea-8e0f-426ee331cc8b"
8}
升级组件
升级集群中已经安装的组件的版本。
请求结构
Plain Text
1POST /v2/cluster/{ClusterID}/addon/upgrade
2Host: cce.bj.baidubce.com
3Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必须 | 参数位置 | 描述 |
---|---|---|---|---|
clusterID | String | 是 | URL参数 | 集群ID。 |
name | String | 是 | Request Body参数 | 要升级的组件名称。 |
targetVersion | String | 否 | Request Body参数 | 升级的目标版本。通常不会使用到该字段,目标版本由后台自动决定。 |
instanceName | String | 否 | Request Body参数 | 要升级的组件实例名称。仅在允许多实例部署的组件中,用于指定要升级的组件实例。通常不会使用到该字段。 |
params | String | 否 | Request Body参数 | 要在升级时同时更新的参数。通常不会使用到该字段。 |
返回头域
除公共头域,无其它特殊头域。
返回参数
参数名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
requestID | String | 是 | 请求ID,问题定位提供该ID。 |
code | String | 否 | 错误代码,仅在请求失败时存在。 |
message | String | 否 | 错误信息,仅在请求失败时存在。 |
请求示例
Plain Text
1POST /v2/cluster/cce-jx4l7afz/addon/upgrade HTTP/1.1
2Host: cce.bj.baidubce.com
3Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
4
5{
6 "name": "cce-npu-manager"
7}
返回示例
Plain Text
1HTTP/1.1 200 OK
2X-Bce-Request-Id: 6f593304-6787-45ea-8e0f-426ee331cc8b
3Date: Thu, 16 Mar 2020 06:29:48 GMT
4Content-Type: application/json;charset=UTF-8
5
6{
7 "requestID": "6f593304-6787-45ea-8e0f-426ee331cc8b"
8}
组件名称列表
组件名称 | 参数名称 |
---|---|
CCE GPU Manager | cce-gpu-manager |
CCE AI Job Scheduler | cce-volcano |
CCE RDMA Device Plugin | cce-rdma-plugin |
CCE PaddleFlow | cce-paddleflow |
CCE Fluid | cce-fluid |
CCE Deep Learning Frameworks Operator | cce-aibox |
CCE Image Accelerate | cce-image-accelerate |
CCE Hybrid Manager | cce-hybrid-manager |
CCE Ingress NGINX Controller | cce-ingress-nginx-controller |
CCE Ingress Controller | cce-ingress-controller |
CCE CSI CDS Plugin | cce-csi-cds-plugin |
CCE CSI BOS Plugin | cce-csi-bos-plugin |
CCE CSI PFS Plugin | cce-csi-pfs-plugin |
CCE NPU Manager | cce-npu-manager |
CCE Log Operator | cce-log-operator |
组件示例参数
CCE GPU Manager
YAML
1EnableSGPU: false # true 使用内核态隔离,false 使用用户态隔离
2GPUShareMemoryUnit: GiB # 显存共享资源上报单位 GiB/MiB
3IgnoreDeviceType: false # 是否为不区分卡类型,默认 false 为上报资源中带有卡型号
CCE AI Job Scheduler
YAML
1Binpack: true # Binpack: false 表示启用 spread
2Reclaimgang: true # 是否开启队列内抢占
3Preemptgang: true # 是否开启队列间抢占
CCE RDMA Device Plugin
该组件不需要用户设置参数
CCE PaddleFlow
YAML
1global:
2 PF_SELFED_DB_ENABLED: &selfd_mysql true
3 PF_DB_DATABASE: &pf_db_database paddleflow
4 PF_DB_HOST: &pf_db_host mysql-standalone
5 PF_DB_PASSWORD: &mysqlpwd Paddle@2022
6 PF_DB_USER: &pf_db_user root
7 PF_DB_PORT: &pf_db_port 3306
8 PF_SVC_TYPE: &pf_svc_type NodePort
9 PF_SERVER_NODE_PORT: &pf_server_node_port 30999
10 PF_LB_IP: &eip "0.0.0.0"
11 CCE_LB_ID: "lb-12345678"
12 CCE_LB_SBN_ID: "sbn-123456789123"
13 CCE_LB_INTERNAL: true
14 CCE_LB_POD_DERICT: false
15 IMAGE_REPOSITORY: registry.baidubce.com/cce-plugin-dev/paddleflow
16
17paddleflow-server:
18 out_depend_msg:
19 PF_DB_DATABASE: *pf_db_database
20 PF_DB_HOST: *pf_db_host
21 PF_DB_PASSWORD: *mysqlpwd
22 PF_DB_PORT: *pf_db_port
23 PF_DB_USER: *pf_db_user
24 paddleflow_server:
25 service:
26 extra_usr_define_services:
27 paddleflow-server:
28 ports:
29 port-0:
30 nodePort: *pf_server_node_port
31 loadBalancerIP: *eip
32 type: *pf_svc_type
33
34
35paddleflow-db-init:
36 out_depend_msg:
37 PF_DB_DATABASE: *pf_db_database
38 PF_DB_HOST: *pf_db_host
39 PF_DB_PASSWORD: *mysqlpwd
40 PF_DB_PORT: *pf_db_port
41 PF_DB_USER: *pf_db_user
42
43
44mysql-replication:
45 enabled: *selfd_mysql
46 fullnameOverride: *pf_db_host
47 nameOverride: *pf_db_host
48 auth:
49 rootPassword: *mysqlpwd
50 database: *pf_db_database
51 username: *pf_db_user
52 password: *mysqlpwd
53 primary:
54 service:
55 port: *pf_db_port
CCE Fluid
该组件不需要用户设置参数
CCE Deep Learning Frameworks Operator
YAML
1TFOperatorEnable: false
2MPIOperatorEnable: false
3PyTorchOperatorEnable: false
4PaddleOperatorEnable: false
5MXNetOperatorEnable: false
6AITrainingOperatorEnable: false
CCE Image Accelerate
该组件不需要用户设置参数
CCE Hybrid Manager
YAML
1version:
2 scheduler: 1.2.8
3 hybridlet: 1.2.8
4
5globalSLA:
6 cpu:
7 highPercent: 65
8 bestEffortMaxCores: 60
9 memory:
10 highPercent: 80
11 bestEffortMax: 60
12 net:
13 inHigh: 10000
14 bestEffortInHigh: 10000
15 outHigh: 10000
16 bestEffortOutHigh: 10000
17 coolDownSec: 10
18 expulsionDelaySec: 60
19 maxInstances: 256
CCE Ingress NGINX Controller
YAML
1controller:
2 ingressClass: ads
3 kind: DaemonSet
4 nodeSelector:
5 instance-group-id: cce-ig-ubn1700b
6 resources:
7 limits:
8 cpu: 0.5
9 memory: 1024Mi
10 requests:
11 cpu: 0.25
12 memory: 256Mi
13 scope:
14 enabled: false
15 namespace: ""
16 service:
17 annotations:
18 service.beta.kubernetes.io/cce-load-balancer-internal-vpc: true
19 tolerations: []
20fullnameOverride: ads-ngx-control
21isArchArm64: false
CCE Ingress Controller
该组件不需要用户设置参数
CCE CSI CDS Plugin
YAML
1maxVolumesPerNode: 5 # maxVolumesPerNode 集群中每个节点最大可以挂载的 CDS PV 数量
2cluster: # kubeletRootPath 用户节点 Kubelet 数据目录。要将集群所有节点出现过的数据目录都列在这里。如果节点没有特别修改过 kubelet 数据目录,这里可以不传。
3 nodes:
4 - kubeletRootPath: "/home/cce/kubelet"
5 kubeletRootPathAffinity: true
6 - kubeletRootPath: "/data/kubelet"
7 kubeletRootPathAffinity: true
8 - kubeletRootPath: "/var/lib/kubelet"
9 kubeletRootPathAffinity: true
CCE CSI BOS Plugin
YAML
1maxVolumesPerNode: 5 # maxVolumesPerNode 集群中每个节点最大可以挂载的 BOS PV 数量
2cluster: # kubeletRootPath 用户节点 Kubelet 数据目录。要将集群所有节点出现过的数据目录都列在这里。如果节点没有特别修改过 kubelet 数据目录,这里可以不传。
3 nodes:
4 - kubeletRootPath: "/home/cce/kubelet"
5 kubeletRootPathAffinity: true
6 - kubeletRootPath: "/data/kubelet"
7 kubeletRootPathAffinity: true
8 - kubeletRootPath: "/var/lib/kubelet"
9 kubeletRootPathAffinity: true
CCE CSI PFS Plugin
YAML
1pfs:
2 configEndpoint: "" # configEndpoint PFS 连接地址和端口
3 parentDir: /kubernetes # parentDir 代表CSI有权限读写的子路径,需要使用静态PV挂载的路径必须在这个路径之内。最大可以填 /,默认为 /kubernetes。挂载前需确认该路径已经对CCE集群机器授权。
4nodes: # kubeletRootPath 用户节点 Kubelet 数据目录。要将集群所有节点出现过的数据目录都列在这里。如果节点没有特别修改过 kubelet 数据目录,这里可以不传。
5 - kubeletRootPath: "/var/lib/kubelet"
6 kubeletRootPathAffinity: true
7 - kubeletRootPath: "/home/cce/kubelet"
8 kubeletRootPathAffinity: true
9 - kubeletRootPath: "/data/kubelet"
10 kubeletRootPathAffinity: true
CCE NPU Manager
YAML
1XPUUseSriov: false # 开启则使用硬件隔离切分,不支持虚机
2XPUSriovNumVfs: 3 # 指定昆仑硬件切分的份数
CCE Log Operator
该组件不需要用户设置参数