Obtaining a Cluster Certificate
Function
This API is used to obtain a certificate of a specified cluster.
URI
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/clustercert
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| project_id | Yes | String | Project ID. For details about how to obtain the project ID, see How to Obtain Parameters in the API URI. |
| cluster_id | Yes | String | Cluster ID. For details about how to obtain the cluster ID, see How to Obtain Parameters in the API URI. |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| Content-Type | Yes | String | Message body type (format). Default: application/json |
| X-Auth-Token | Yes | String | Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this field is mandatory and must be set to a user token. For details about how to obtain a token, see Authentication. Maximum: 16384 |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| duration | Yes | Integer | Validity period of the cluster certificate, in days. Non-administrator users can apply for a validity period of 1 to 30 days. Administrators can apply for a period of 1 to 30 days or unlimited days (set to -1). Minimum: -1 Maximum: 30 |
Response Parameters
Status code: 200
| Parameter | Type | Description |
|---|---|---|
| kind | String | API type. The value is fixed at Config and cannot be changed. Default: Config |
| apiVersion | String | API version. The value is fixed at v1. |
| preferences | Object | This field is not used currently and is left unspecified by default. |
| clusters | Array of Clusters objects | Cluster list. |
| users | Array of Users objects | Certificate information and client key information of a specified user. |
| contexts | Array of Contexts objects | Context list. |
| current-context | String | Current context. If publicIp (VM EIP) exists, the value is external. If publicIp does not exist, the value is internal. |
| Parameter | Type | Description |
|---|---|---|
| name | String | Cluster name.
|
| cluster | ClusterCert object | Cluster information. |
| Parameter | Type | Description |
|---|---|---|
| server | String | Server IP address. |
| certificate-authority-data | String | Certificate authorization data. |
| insecure-skip-tls-verify | Boolean | Whether to skip the server certificate verification. If the cluster type is externalCluster, the value is true. |
| Parameter | Type | Description |
|---|---|---|
| name | String | The value is fixed at user. |
| user | User object | Certificate information and client key information of a specified user. |
| Parameter | Type | Description |
|---|---|---|
| client-certificate-data | String | Client certificate. |
| client-key-data | String | PEM encoding data from the TLS client key file. |
| Parameter | Type | Description |
|---|---|---|
| name | String | Context name.
|
| context | Context object | Context information. |
Example Requests
Applying for a cluster access certificate valid for 30 days
{
"duration" : 30
} Example Responses
Status code: 200
The certificate of the specified cluster is successfully obtained. For details about the certificate file format, see the Kubernetes v1.Config structure.
{
"kind" : "Config",
"apiVersion" : "v1",
"preferences" : { },
"clusters" : [ {
"name" : "internalCluster",
"cluster" : {
"server" : "https://192.168.1.7:5443",
"certificate-authority-data" : "Q2VydGlmaWNhdGU6******FTkQgQ0VSVElGSUNBVEUtLS0tLQo="
}
} ],
"users" : [ {
"name" : "user",
"user" : {
"client-certificate-data" : "LS0tLS1CRUdJTiBDR******QVRFLS0tLS0K",
"client-key-data" : "LS0tLS1CRUdJTi******BLRVktLS0tLQo="
}
} ],
"contexts" : [ {
"name" : "internal",
"context" : {
"cluster" : "internalCluster",
"user" : "user"
}
} ],
"current-context" : "internal"
} Status Codes
| Status Code | Description |
|---|---|
| 200 | The certificate of the specified cluster is successfully obtained. For details about the certificate file format, see the Kubernetes v1.Config structure. |
Error Codes
See Error Codes.
Last Article: Waking Up a Cluster
Next Article: Creating a Node
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.