百度智能云

All Product Document

          Cloud Container Engine

          Cluster Related Interface

          Create Cluster

          Description

          Creates a CCE K8S cluster.

          Request Structure

          POST /v2/cluster HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: authorization string

          Request Header Fields

          No other special header fields are available, except for common header fields.

          Request Parameter

          Parameter Name Type Required or not Parameter Position Description
          Cluster ClusterSpec Yes RequestBody parameter The cluster configuration
          masters List<InstanceSet> No RequestBody parameter The cluster Master configuration, which supports the heterogeneous combination. When the cluster is a managed type, you do not need to set this parameter.
          nodes List<InstanceSet> No RequestBody parameter The cluster Worker configuration, which supports the heterogeneous combination. When you do not set this parameter, you should create a cluster that has a master node only.
          options CreateClusterOptions Yes RequestBody parameter The cluster creation option. The user can set it to skip the IP-address-range conflict check forcibly.

          Return Header Field

          No other special header fields are available, except for common header fields.

          Return Parameters

          Parameter Name Type Required or not Description
          clusterID String Yes The cluster ID
          requestID String Yes The request ID, which is provided by the problem location.

          Request Example Hosting Master Cluster

          • Set the masterType of cluster.masterConfig to managed
          • No “masters” parameters need to be set.
          • For other parameters, please see the API documentation to make settings as required
          POST /v2/cluster  HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de
          
          {
              "cluster":{
                  "clusterName":"test-open-types",
                  "k8sVersion":"1.16.8",
                  "runtimeType":"docker",
                  "vpcID":"vpc-mwbgygrjb72w",
                  "masterConfig":{
                      "masterType":"managed",
                      "clusterHA":1,
                      "exposedPublic":false,
                      "clusterBLBVPCSubnetID":"sbn-mnbvhnuupv1u",
                      "managedClusterMasterOption":{
                          "masterVPCSubnetZone":"zoneA"
                      }
                  },
          		"containerNetworkConfig": {
          			"mode": "kubenet",
          			"lbServiceVPCSubnetID": "sbn-mnbvhnuupv1u",
          			"clusterPodCIDR": "172.28.0.0/16",
          			"clusterIPServiceCIDR": "172.31.0.0/16"
          		},
          		"k8sCustomConfig": {
          			"kubeAPIQPS": 1000,
          			"kubeAPIBurst": 2000
          		}
              },
              "nodes":[
                  {
                      "instanceSpec":{
                          "instanceName":"instance-name",
                          "clusterRole":"node",
                          "existed":false,
                          "machineType":"BCC",
                          "instanceType":"N3",
                          "vpcConfig":{
                              "vpcID":"vpc-mwbgygrjb72w",
                              "vpcSubnetID":"sbn-mnbvhnuupv1u",
                             "availableZone":"zoneA",
                              "securityGroup": {
                            "customSecurityGroups": [],
                     "enableCCERequiredSecurityGroup": true,
                      "enableCCEOptionalSecurityGroup": true
                              }
                          },
                          "instanceResource":{
                              "cpu":4,
                              "mem":8,
                              "rootDiskSize":40,
                              "localDiskSize":0,
                              "cdsList":[]
                          },
                          "imageID":"m-gTpZ1k6n",
                          "instanceOS":{
                              "imageType":"System",
                              "osType":"linux",
                              "osName":"CentOS",
                              "osVersion":"7.5",
                              "osArch":"x86_64 (64bit)"
                          },
                          "needEIP":false,
                          "adminPassword":"test123!T",
                          "instanceChargingType":"Postpaid",
                          "runtimeType":"docker"
                      },
                      "count":1
                  }
              ]
          }

          Request Examples Custom Master cluster

          • Set the masterType of cluster.masterConfig to custom
          • Set the masters parameter
          • For other parameters, please see the API documentation to make settings as required
          {
              "cluster":{
                  "clusterName":"create-custom-cluster-reg",
                  "description":"Cluster description",
                  "k8sVersion":"1.16.8",
                  "runtimeType":"docker",
                  "vpcID":"vpc-43zsdm46t9rp",
                  "masterConfig":{
                      "masterType":"custom",
                      "exposedPublic":true,
                      "clusterBLBVPCSubnetID":"sbn-vvqsb9b57f24"
                  },
                  "containerNetworkConfig":{
                      "mode":"kubenet",
                      "lbServiceVPCSubnetID":"sbn-vvqsb9b57f24",
                      "nodePortRangeMin":50000,
                      "nodePortRangeMax":51000,
                      "clusterPodCIDR":"10.2.0.0/16",
                      "clusterIPServiceCIDR":"172.16.0.0/16",
                      "maxPodsPerNode":64,
                      "kubeProxyMode":"ipvs"
                  }
              },
              "masters":[
                  {
                      "instanceSpec":{
                          "machineType":"BCC",
                          "instanceType":"N3",
                          "vpcConfig":{
                              "vpcSubnetID":"sbn-vvqsb9b57f24",
                               "securityGroup": {
                                "customSecurityGroups": [],
                       "enableCCERequiredSecurityGroup": true,
                      "enableCCEOptionalSecurityGroup": true
                              }
                          },
                          "instanceResource":{
                              "CPU":4,
                              "MEM":8
                          },
                          "instanceOS": {
                              "imageName": "7.5 x86_64 (64bit)",
                              "imageType": "System",
                              "osType": "linux",
                              "osName": "CentOS",
                              "osVersion": "7.5",
                              "osArch": "x86_64 (64bit)"
                          },
                          "adminPassword":"test123!T"
                      },
                      "count":1
                  }
              ],
              "nodes":[
                  {
                      "instanceSpec":{
                          "machineType":"BCC",
                          "instanceType":"N3",
                          "vpcConfig":{
                              "vpcSubnetID":"sbn-vvqsb9b57f24",
                              "securityGroupID":"g-k4tsm0id2g1n"
                          },
                          "instanceResource":{
                              "CPU":4,
                              "MEM":8,
                              "cdsList":[
                                  {
                                      "diskPath":"/data",
                                      "storageType":"cloud_hp1",
                                      "cdsSize":200
                                  }
                              ]
                          },
                          "instanceOS": {
                              "imageName": "7.5 x86_64 (64bit)",
                              "imageType": "System",
                              "osType": "linux",
                              "osName": "CentOS",
                              "osVersion": "7.5",
                              "osArch": "x86_64 (64bit)"
                          },
                          "adminPassword":"test123!T"
                      },
                      "count":1
                  }
              ]
          }

          Request Example Existing Instances

          • If the Master needs to use an existing instance, set the masterType of cluster.masterConfig to custom
          • When adding a Master or Node machine configuration, set instanceSpec.existed to true and instanceSpec.existedOption.existedInstanceID to the existing node ID that you want to use
          • If you do not want to reinstall the system, set instanceSpec.existedOption.rebuild to false and ensure that the machine password is correct. Otherwise, the node fails to create due to the inability to deploy related services
          • If you do not want to reinstall the system, you do not need to set instanceSpec.instanceOS and instanceSpec.machineType
          • For other parameters, see the API documentation to make settings as required
          {
              "cluster":{
                  "clusterName":"create-existed-bcc-cluster-reg",
                  "description":"Cluste description",
                  "k8sVersion":"1.16.8",
                  "runtimeType":"docker",
                  "vpcID":"vpc-43zsdm46t9rp",
                  "masterConfig":{
                      "masterType":"custom",
                      "exposedPublic":true,
                      "clusterBLBVPCSubnetID":"sbn-vvqsb9b57f24"
                  },
                  "containerNetworkConfig":{
                      "mode":"kubenet",
                      "lbServiceVPCSubnetID":"sbn-vvqsb9b57f24",
                      "nodePortRangeMin":30000,
                      "nodePortRangeMax":32768,
                      "clusterPodCIDR":"10.0.0.0/16",
                      "clusterIPServiceCIDR":"172.16.0.0/16",
                      "maxPodsPerNode":256,
                      "kubeProxyMode":"ipvs"
                  }
              },
              "masters":[
                  {
                      "instanceSpec":{
                          "existed":true,
                          "existedOption":{
                              "existedInstanceID":"i-SxeBLkcN",
                              "rebuild":true
                          },
                          "machineType":"BCC",
                          "instanceOS": {
                              "imageName": "7.5 x86_64 (64bit)",
                              "imageType": "System",
                              "osType": "linux",
                              "osName": "CentOS",
                              "osVersion": "7.5",
                              "osArch": "x86_64 (64bit)"
                          },
                          "adminPassword":"test123!T"
                      }
                  }
              ],
              "nodes":[
                  {
                      "instanceSpec":{
                          "existed":true,
                          "existedOption":{
                              "existedInstanceID":"i-M56Un1DO",
                              "rebuild":true
                          },
                          "machineType":"BCC",
                          "instanceOS": {
                              "imageName": "7.5 x86_64 (64bit)",
                              "imageType": "System",
                              "osType": "linux",
                              "osName": "CentOS",
                              "osVersion": "7.5",
                              "osArch": "x86_64 (64bit)"
                          },
                          "adminPassword":"test123!T"
                      }
                  }
              ]
          }

          Request Example: Attach CDS

          Sometimes, when we want to mount one or more CDSs to the node in creating nodes, we can set the CDS parameters and related mounting paths for the node in creating a cluster. The example is as follows:
          It should be noted that only one CDS can be mounted in one path, but another CDS can be mounted in a sub-path of the path. For example, only one CDS can be mounted under the /a directory, but you can mount another CDS under the /a/b directory.
          For existing nodes, you can only mount the CDS in the specified path and cannot create a CDS. Therefore, when an existing node tries to mount the CDS to the specified Path but cannot find a desirable CDS, then it will ignore the CDS configuration.

          {
              ......
              
              "masters":[
                  {
                      "instanceSpec":{
                          ......
                          "instanceResource": {
                              "cdsList": [
                                   {diskPath: "/home/cce", storageType: "cloud_hp1", cdsSize: 50}
                               ] 
                          },
                          ......
                      }
                  }
              ],
              "nodes":[
                  {
                      "instanceSpec":{
                          ......
                          "instanceResource": {
                              "cdsList": [
                                   {diskPath: "/home/cce", storageType: "cloud_hp1", cdsSize: 60}
                               ] 
                          },
                          ......
                      }
                  }
              ]
          }

          Return Example

          HTTP/1.1 200 OK
          x-bce-request-id: d2ce8f50-529a-4663-9265-ad08c94633c8
          Date: Thu, 16 Mar 2020 06:29:48 GMT
          Content-Type: application/json;charset=UTF-8
          {
              "clusterID": "cce-NqYwWEhu",
              "requestID": "d2ce8f50-529a-4663-9265-ad08c94633c8"
          }

          Cluster List

          Description

          Query the user CCE K8S cluster list.

          Request Structure

          GET /v2/clusters  HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

          Request Header Fields

          No other special header fields are available, except for common header fields.

          Request Parameter

          Parameter Name Type Required or not Parameter Position Description
          keywordType String No Query parameter The cluster fuzzy query field. You can select it between [clusterName and clusterID]. Its default value is clusterName.
          keyword String No Query parameter The query keyword. Its default value is an empty string.
          orderBy String No Query parameter The cluster query sorting field. You can select it among [clusterName, clusterID, and createdAt]. Its default value is clusterName.
          order String No Query parameter The sorting method. You can select it between [ASC and DESC]. ASC represents the ascending order and DESC the descending order. Its default value is ASC.
          pageNo Integer No Query parameter The page number, whose default value is 1.
          pageSize Integer No Query parameter The number of results on a single page. Its default value is 10.

          Return Header Field

          No other special header fields are available, except for common header fields.

          Return Parameters

          Parameter Name Type Description Description
          clusterPage ClusterPage Yes The return results of cluster paging query
          requestID String Yes The request ID, which is provided by the problem location.

          Request Example

          GET /v2/clusters?keywordType=clusterName&keyword=&orderBy=clusterID&order=ASC&pageNo=1&pageSize=10  HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

          Return Example

          HTTP/1.1 200 OK
          X-Bce-Request-Id: 97342dc7-29a1-4ed9-a75d-904bb293d295
          Date: Thu, 16 Mar 2020 06:29:48 GMT
          Content-Type: application/json;charset=UTF-8
          
          {
          	"clusterPage": {
          		"keywordType": "clusterName",
          		"keyword": "",
          		"orderBy": "clusterID",
          		"order": "ASC",
          		"pageNo": 1,
          		"pageSize": 10,
          		"totalCount": 1,
          		"clusterList": [
          			{
          				"spec": {
          					"clusterID": "cce-shpdaa9l",
          					"clusterName": "sdk-ccev2-test",
          					"clusterType": "normal",
          					"description": "",
          					"k8sVersion": "1.16.8",
          					"vpcID": "vpc-aj2rcjm084y5",
          					"vpcCIDR": "192.168.0.0/16",
          					"plugins": [
          						"ip-masq-agent",
          						"core-dns",
          						"kube-proxy",
          						"metrics-server",
          						"nvidia-gpu"
          					],
          					"masterConfig": {
          						"masterType": "managed",
          						"clusterHA": 1,
          						"clusterBLBVPCSubnetID": "sbn-0dizryuc81c0",
          						"managedClusterMasterOption": {
          							"masterVPCSubnetZone": "zoneA"
          						}
          					},
          					"containerNetworkConfig": {
          						"mode": "kubenet",
          						"ipVersion": "ipv4",
          						"lbServiceVPCSubnetID": "sbn-0dizryuc81c0",
          						"nodePortRangeMin": 30000,
          						"nodePortRangeMax": 32767,
          						"clusterPodCIDR": "172.28.0.0/16",
          						"clusterIPServiceCIDR": "172.31.0.0/16",
          						"maxPodsPerNode": 128,
          						"kubeProxyMode": "ipvs"
          					}
          				},
          				"status": {
          					"clusterBLB": {
          						"id": "lb-1454d5c4",
          						"vpcIP": "100.64.230.44",
          						"eip": ""
          					},
          					"clusterPhase": "running",
          					"nodeNum": 0
          				},
          				"createdAt": "2020-09-04T01:58:12Z",
          				"updatedAt": "2020-09-04T02:00:37Z"
          			}
          		]
          	},
          	"requestID": "97342dc7-29a1-4ed9-a75d-904bb293d295"
          }

          Cluster Details

          Description

          Queries details on the specified cluster.

          Request Structure

          GET /v2/cluster/{clusterID} HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: authorization string

          Request Header Fields

          No other special header fields are available, except for common header fields.

          Request Parameter

          Parameter Name Type Required or not Parameter Position Description
          clusterID String Yes URL parameter Cluster ID

          Return Header Field

          No other special header fields are available, except for common header fields.

          Return Parameters

          Parameter Name Type Required or not Description
          Cluster Cluster Yes The cluster detail query results
          requestID String Yes The request ID, which is provided by the problem location.

          Request Example

          GET /v2/cluster/cce-zyt88sqy  HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

          Return Example

          HTTP/1.1 200 OK
          X-Bce-Request-Id: 928a21b5-d117-4a83-a274-fd7d6f413524
          Date: Thu, 16 Mar 2020 06:29:48 GMT
          Content-Type: application/json;charset=UTF-8
          
          {
          	"cluster": {
          		"spec": {
          			"clusterID": "cce-shpdaa9l",
          			"clusterName": "sdk-ccev2-test",
          			"clusterType": "normal",
          			"description": "",
          			"k8sVersion": "1.16.8",
          			"vpcID": "vpc-aj2rcjm084y5",
          			"vpcCIDR": "192.168.0.0/16",
          			"plugins": [
          				"ip-masq-agent",
          				"core-dns",
          				"kube-proxy",
          				"metrics-server",
          				"nvidia-gpu"
          			],
          			"masterConfig": {
          				"masterType": "managed",
          				"clusterHA": 1,
          				"clusterBLBVPCSubnetID": "sbn-0dizryuc81c0",
          				"managedClusterMasterOption": {
          					"masterVPCSubnetZone": "zoneA"
          				}
          			},
          			"containerNetworkConfig": {
          				"mode": "kubenet",
          				"ipVersion": "ipv4",
          				"lbServiceVPCSubnetID": "sbn-0dizryuc81c0",
          				"nodePortRangeMin": 30000,
          				"nodePortRangeMax": 32767,
          				"clusterPodCIDR": "172.28.0.0/16",
          				"clusterIPServiceCIDR": "172.31.0.0/16",
          				"maxPodsPerNode": 128,
          				"kubeProxyMode": "ipvs"
          			}
          		},
          		"status": {
          			"clusterBLB": {
          				"id": "lb-1454d5c4",
          				"vpcIP": "100.64.230.44",
          				"eip": ""
          			},
          			"clusterPhase": "running",
          			"nodeNum": 0
          		},
          		"createdAt": "2020-09-04T01:58:12Z",
          		"updatedAt": "2020-09-04T02:00:37Z"
          	},
          	"requestID": "928a21b5-d117-4a83-a274-fd7d6f413524"
          }

          Delete Cluster

          Description

          Deletes the specified cluster.

          Request Structure

          DELETE /v2/cluster/{clusterID} HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: authorization string

          Request Header Fields

          No other special header fields are available, except for common header fields.

          Request Parameter

          Parameter Name Type Required or not Parameter Position Description
          clusterID String Yes URL parameter The cluster ID
          deleteResource Boolean No Query parameter Whether to delete relevant resources (postpaid public network IP and cloud disk storage). Its default value is false.
          deleteCDSSnapshot Boolean No Query parameter Whether to delete the cloud disk storage snapshot. Its default value is false.

          Return Header Field

          No other special header fields are available, except for common header fields.

          Return Parameters

          Parameter Name Type Required or not Description
          requestID String Yes The request ID, which is provided by the problem location.

          Request Example

          DELETE /v2/cluster/cce-uqc4lju1?deleteResource=true&deleteCDSSnapshot=true  HTTP/1.1
          Host: cce.bj.baidubce.com
          Authorization: bce-auth-v1/f81d3b34e48048fbb2634dc7882d7e21/2019-03-11T04:17:29Z/3600/host/74c506f68c65e26c633bfa104c863fffac5190fdec1ec24b7c03eb5d67d2e1de

          Return Example

          HTTP/1.1 200 OK
          X-Bce-Request-Id: 105ce04b-1a42-4f77-9d22-ab6f413f9d69
          Date: Thu, 16 Mar 2020 06:29:48 GMT
          Content-Type: application/json;charset=UTF-8
          
          {
              "requestID": "105ce04b-1a42-4f77-9d22-ab6f413f9d69"
          }
          Previous
          Appendix
          Next
          Instance Related Interface