获取集群证书
功能介绍
该API用于获取指定集群的证书信息。
接口约束
该接口适用于1.13及以上集群版本。
调用方法
请参见如何调用API。
URI
POST /api/v3/projects/{project_id}/clusters/{cluster_id}/clustercert
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数解释: 项目ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 账号的项目ID 默认取值: 不涉及 |
| cluster_id | 是 | String | 参数解释: 集群ID,获取方式请参见如何获取接口URI中参数。 约束限制: 不涉及 取值范围: 集群ID 默认取值: 不涉及 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 参数解释: 消息体的类型(格式),默认为application/json,有其他取值时会在具体接口中专门说明。 约束限制: GET方法不做校验 默认取值: 不涉及 |
| X-Auth-Token | 是 | String | 参数解释: 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| duration | 否 | Integer | 参数解释: 集群证书有效时间。 约束限制: duration和expire_at参数至少需要指定一个,若同时指定则以expire_at参数为准。 取值范围: 最小值为1天,最大值为5年,因此取值范围为1-1827(以天为单位,实际上限取决于5年内闰年的数量,例如5年内存在一个闰年则上限为1826天);若填-1则为最大值5年 默认取值: 不涉及 |
| expire_at | 否 | String | 参数解释: 集群证书到期时间。 约束限制: duration和expire_at参数至少需要指定一个,若同时指定则以expire_at参数为准。 取值范围: 证书到期时间须在当前时间后15分钟至5年之间,参数格式为:2025-01-01 16:00:00 +0000 UTC。 默认取值: 不涉及 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| Port-ID | String | 参数解释: 集群控制节点端口ID 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| kind | String | 参数解释: API类型 约束限制: 该值不可修改 取值范围: 不涉及 默认取值: Config |
| apiVersion | String | 参数解释: API版本 约束限制: 该值不可修改 取值范围: 不涉及 默认取值: v1 |
| preferences | Object | 参数解释: 当前未使用该字段 约束限制: 不涉及 取值范围: 不涉及 默认取值: 默认为空 |
| clusters | Array of Clusters objects | 参数解释: 集群列表。 约束限制: 不涉及 |
| users | Array of Users objects | 参数解释: 存放了指定用户的一些证书信息和ClientKey信息。 约束限制: 不涉及 |
| contexts | Array of Contexts objects | 参数解释: 上下文列表。 约束限制: 不涉及 |
| current-context | String | 参数解释: 当前上下文 约束限制: 不涉及 取值范围: 默认取值: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 集群名字。 约束限制: 不涉及 取值范围: 默认取值: |
| cluster | ClusterCert object | 参数解释: 集群信息。 约束限制: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| server | String | 参数解释: 服务器地址 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| certificate-authority-data | String | 参数解释: 证书授权数据 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| insecure-skip-tls-verify | Boolean | 参数解释: 不校验服务端证书 约束限制: 不涉及 取值范围: 默认取值: 在 cluster 类型为 externalCluster 时,该值为 true。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 名称 约束限制: 不涉及 取值范围: 不涉及 默认取值: user |
| user | User object | 参数解释: 存放了指定用户的一些证书信息和ClientKey信息。 约束限制: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| client-certificate-data | String | 参数解释: 客户端证书。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| client-key-data | String | 参数解释: 包含来自TLS客户端密钥文件的PEM编码数据。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 上下文的名称。 约束限制: 不涉及 取值范围: 默认取值: |
| context | Context object | 参数解释: 上下文信息。 约束限制: 不涉及 |
请求示例
申请有效期到2025年1月1日16点(UTC)的集群访问证书
{
"expire_at" : "2025-01-01 16:00:00 +0000 UTC"
} 响应示例
状态码:200
表示成功获取指定集群的证书。证书文件格式参见kubernetes v1.Config结构
{
"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"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 表示成功获取指定集群的证书。证书文件格式参见kubernetes v1.Config结构 |
错误码
请参见错误码。