更新时间:2026-09-30 GMT+08:00

获取集群访问证书

功能介绍

该API用于获取指定集群的访问证书信息。

接口约束

该接口适用于1.13及以上集群版本。

调用方法

请参见如何调用API。

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/clustercert

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

账号的项目ID

默认取值:

不涉及

cluster_id

是

String

参数解释:

集群ID,获取方式请参见如何获取接口URI中参数。

约束限制:

不涉及

取值范围:

集群ID

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

是

String

参数解释:

消息体的类型(格式),默认为application/json,有其他取值时会在具体接口中专门说明。

约束限制:

GET方法不做校验

取值范围:

不涉及

默认取值:

不涉及

X-Auth-Token

是

String

参数解释:

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

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

表4 响应Header参数

参数

参数类型

描述

Port-ID

String

参数解释:

集群控制节点端口ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表5 响应Body参数

参数

参数类型

描述

kind

String

参数解释:

API类型

取值范围:

不涉及

apiVersion

String

参数解释:

API版本

取值范围:

不涉及

preferences

Object

参数解释:

当前未使用该字段

取值范围:

不涉及

clusters

Array of Clusters objects

参数解释:

集群列表。

users

Array of Users objects

参数解释:

存放了指定用户的一些证书信息和ClientKey信息。

contexts

Array of Contexts objects

参数解释:

上下文列表。

current-context

String

参数解释:

当前上下文

取值范围:

  • external:公网访问

  • internal:私网访问

表6 Clusters

参数

参数类型

描述

name

String

参数解释:

集群名字。

取值范围:

  • internalCluster:私网访问的集群

  • externalCluster:公网访问的集群

cluster

ClusterCert object

参数解释:

集群信息。

表7 ClusterCert

参数

参数类型

描述

server

String

参数解释:

服务器地址

取值范围:

不涉及

certificate-authority-data

String

参数解释:

证书授权数据

取值范围:

不涉及

insecure-skip-tls-verify

Boolean

参数解释:

不校验服务端证书

取值范围:

  • true:跳过校验服务端证书

  • false:校验服务端证书

表8 Users

参数

参数类型

描述

name

String

参数解释:

名称

取值范围:

不涉及

user

User object

参数解释:

存放了指定用户的一些证书信息和ClientKey信息。

表9 User

参数

参数类型

描述

client-certificate-data

String

参数解释:

客户端证书。

取值范围:

不涉及

client-key-data

String

参数解释:

包含来自TLS客户端密钥文件的PEM编码数据。

取值范围:

不涉及

表10 Contexts

参数

参数类型

描述

name

String

参数解释:

上下文的名称。

取值范围:

  • internal:私网访问

  • external:公网访问

context

Context object

参数解释:

上下文信息。

表11 Context

参数

参数类型

描述

cluster

String

参数解释:

上下文cluster信息

取值范围:

不涉及

user

String

参数解释:

上下文user信息

取值范围:

不涉及

请求示例

申请有效期到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结构

错误码

请参见错误码。